以下、本発明の実施の形態を、図面を参照して説明する。まず、遊技機の一例であるパチンコ遊技機1の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図である。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板(図示せず)と、それらに取り付けられる種々の部品(遊技盤6を除く)とを含む構造体である。
ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4や、打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。また、ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には、打ち込まれた遊技球が流下可能な遊技領域7が形成されている。
遊技領域7の中央付近には、液晶表示装置(LCD)で構成された演出表示装置9が設けられている。演出表示装置9の表示画面には、第1特別図柄または第2特別図柄の可変表示に同期した演出図柄(以下、飾り図柄ともいう)の可変表示を行う演出図柄表示領域がある。よって、演出表示装置9は、演出図柄の可変表示を行う可変表示装置に相当する。演出図柄表示領域には、例えば「左」、「中」、「右」の3つの装飾用(演出用)の演出図柄を可変表示する図柄表示エリアがある。図柄表示エリアには「左」、「中」、「右」の各図柄表示エリアがあるが、図柄表示エリアの位置は、演出表示装置9の表示画面において固定的でなくてもよいし、図柄表示エリアの3つ領域が離れてもよい。演出表示装置9は、演出制御基板に搭載されている演出制御用マイクロコンピュータによって制御される。演出制御用マイクロコンピュータが、第1特別図柄表示器8aで第1特別図柄の可変表示が実行されているときに、その可変表示に伴って演出表示装置9で演出表示を実行させ、第2特別図柄表示器8bで第2特別図柄の可変表示が実行されているときに、その可変表示に伴って演出表示装置9で演出表示を実行させるので、遊技の進行状況を把握しやすくすることができる。
また、演出表示装置9において、最終停止図柄(例えば左右中図柄のうち中図柄)になる図柄以外の図柄が、所定時間継続して、大当り図柄(例えば左中右の図柄が同じ図柄で揃った図柄の組み合わせ)と一致している状態で停止、揺動、拡大縮小もしくは変形している状態、または、複数の図柄が同一図柄で同期して変動したり、表示図柄の位置が入れ替わっていたりして、最終結果が表示される前で大当り発生の可能性が継続している状態(以下、これらの状態をリーチ状態という。)において行われる演出をリーチ演出という。また、リーチ状態やその様子をリーチ態様という。さらに、リーチ演出を含む可変表示をリーチ可変表示という。そして、演出表示装置9に変動表示される図柄の表示結果が大当り図柄でない場合には「はずれ」になり、変動表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
なお、この実施の形態では、演出表示装置9における液晶表示の演出の例は演出図柄の変動表示であるが、演出表示装置9で行われる演出は、演出図柄の変動表示に限られず、例えば、所定のストーリー性をもつ演出を実行し、大当り判定や変動パターンの決定結果にもとづいてストーリーの結果を表示するような演出を実行するようにしてもよい。例えば、敵味方のキャラクタが戦うバトル演出を行うとともに、大当りである場合には試合やバトルに勝利する演出を行い、はずれである場合には試合やバトルに敗北する演出を行うようにしてもよい。また、例えば、勝敗などの結果を表示するのではなく、物語などの所定のストーリーを順に展開させていくような演出を実行するようにしてもよい。
演出表示装置9の表示画面の右上方部には、第4図柄を表示する第4図柄表示領域9c,9dが設けられている。この実施の形態では、第1特別図柄の変動表示に同期して第1特別図柄用の第4図柄の変動表示が行われる第1特別図柄用の第4図柄表示領域9cと、第2特別図柄の変動表示に同期して第2特別図柄用の第4図柄の変動表示が行われる第2特別図柄用の第4図柄表示領域9dとが設けられている。
この実施の形態では、特別図柄の変動表示に同期して演出図柄の変動表示が実行されるのであるが(ただし、正確には、演出図柄の変動表示は、演出制御用マイクロコンピュータ100側で変動パターンコマンドにもとづいて認識した変動時間を計測することによって行われる。)、演出表示装置9を用いた演出を行う場合、例えば、演出図柄の変動表示を含む演出内容が画面上から一瞬消えるような演出が行われたり、可動物が画面上の全部または一部を遮蔽するような演出が行われるなど、演出態様が多様化してきている。そのため、演出表示装置9上の表示画面を見ていても、現在変動表示中の状態であるのか否か認識しにくい場合も生じている。そこで、この実施の形態では、演出表示装置9の表示画面の一部でさらに第4図柄の変動表示を行うことによって、第4図柄の状態を確認することにより現在変動表示中の状態であるのか否かを確実に認識可能としている。なお、第4図柄は、常に一定の動作で変動表示され、画面上から消えたり遮蔽物で遮蔽することはないため、常に視認することができる。
なお、第1特別図柄用の第4図柄と第2特別図柄用の第4図柄とを、第4図柄と総称することがあり、第1特別図柄用の第4図柄表示領域9cと第2特別図柄用の第4図柄表示領域9dを、第4図柄表示領域と総称することがある。
第4図柄の変動(可変表示)は、第4図柄表示領域9c,9dを所定の表示色(例えば、青色)で一定の時間間隔で点灯と消灯とを繰り返す状態を継続することによって実現される。第1特別図柄表示器8aにおける第1特別図柄の可変表示と、第1特別図柄用の第4図柄表示領域9cにおける第1特別図柄用の第4図柄の可変表示とは同期している。第2特別図柄表示器8bにおける第2特別図柄の可変表示と、第2特別図柄用の第4図柄表示領域9dにおける第2特別図柄用の第4図柄の可変表示とは同期している。同期は、可変表示の開始時点および終了時点が同じであって、可変表示の期間が同じであることを意味する。また、第1特別図柄表示器8aにおいて大当り図柄が停止表示されるときには、第1特別図柄用の第4図柄表示領域9cにおいて大当りを想起させる表示色(例えば、赤色)で点灯されたままになる。第2特別図柄表示器8bにおいて大当り図柄が停止表示されるときには、第2特別図柄用の第4図柄表示領域9dにおいて大当りを想起させる表示色(例えば、赤色)で点灯されたままになる。
なお、この実施の形態では、第4図柄表示領域が演出表示装置9の表示画面の一部に設けられているが、演出表示装置9とは別に、ランプやLEDなどの発光体を用いて第4図柄表示領域を実現するようにしてもよい。その場合、例えば、第4図柄の変動(可変表示)を、2つのLEDが交互に点灯する状態を継続することによって実現されるようにしてもよく、2つのLEDのうちのいずれのLEDが停止表示されたかによって大当り図柄が停止表示されたか否かを表すようにしてもよい。
また、この実施の形態では、第1特別図柄と第2特別図柄とのそれぞれに対応する第4図柄表示領域9c,9dが備えられているが、第1特別図柄と第2特別図柄とに対して共通の第4図柄表示領域を演出表示装置9の表示画面の一部に設けてもよい。また、第1特別図柄と第2特別図柄とに対して共通の第4図柄表示領域をランプやLEDなどの発光体を用いて実現するようにしてもよい。その場合、第1特別図柄の変動表示に同期して第4図柄の変動表示を実行するときと、第2特別図柄の変動表示に同期して第4図柄の変動表示を実行するときとで、例えば、一定の時間間隔で異なる表示色の表示を点灯および消灯を繰り返すような表示を行うことによって、第4図柄の変動表示を区別して実行するようにしてもよい。また、第1特別図柄の変動表示に同期して第4図柄の変動表示を実行するときと、第2特別図柄の変動表示に同期して第4図柄の変動表示を実行するときとで、例えば、異なる時間間隔で点灯および消灯を繰り返すような表示を行うことによって、第4図柄の変動表示を区別して実行するようにしてもよい。また、例えば、第1特別図柄の変動表示に対応して停止図柄を導出表示するときと、第2特別図柄の変動表示に対応して停止図柄を導出表示するときとで、同じ大当り図柄であっても異なる態様の停止図柄を停止表示するようにしてもよい。
遊技盤6における下部の左側には、識別情報としての第1特別図柄を可変表示する第1特別図柄表示器(第1可変表示部)8aが設けられている。この実施の形態では、第1特別図柄表示器8aは、0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。すなわち、第1特別図柄表示器8aは、0〜9の数字(または、記号)を可変表示するように構成されている。遊技盤6における下部の右側には、識別情報としての第2特別図柄を可変表示する第2特別図柄表示器(第2可変表示部)8bが設けられている。第2特別図柄表示器8bは、0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。すなわち、第2特別図柄表示器8bは、0〜9の数字(または、記号)を可変表示するように構成されている。
小型の表示器は、例えば方形状に形成されている。また、この実施の形態では、第1特別図柄の種類と第2特別図柄の種類とは同じ(例えば、ともに0〜9の数字)であるが、種類が異なっていてもよい。また、第1特別図柄表示器8aおよび第2特別図柄表示器8bは、例えば、00〜99の数字(または、2桁の記号)を可変表示するように構成されていてもよい。
以下、第1特別図柄と第2特別図柄とを特別図柄と総称することがあり、第1特別図柄表示器8aと第2特別図柄表示器8bとを特別図柄表示器(可変表示部)と総称することがある。
なお、この実施の形態では、2つの特別図柄表示器8a,8bが備えられているが、遊技機は、特別図柄表示器を1つのみ備えていてもよい。
第1特別図柄または第2特別図柄の可変表示は、可変表示の実行条件である第1始動条件または第2始動条件が成立(例えば、遊技球が第1始動入賞口13または第2始動入賞口14を通過(入賞を含む)したこと)した後、可変表示の開始条件(例えば、保留記憶数が0でない場合であって、第1特別図柄および第2特別図柄の可変表示が実行されていない状態であり、かつ、大当り遊技が実行されていない状態)が成立したことにもとづいて開始され、可変表示時間(変動時間)が経過すると表示結果(停止図柄)を導出表示する。なお、遊技球が通過するとは、入賞口やゲートなどのあらかじめ入賞領域として定められている領域を遊技球が通過したことであり、入賞口に遊技球が入った(入賞した)ことを含む概念である。また、表示結果を導出表示するとは、図柄(識別情報の例)を最終的に停止表示させることである。
演出表示装置9の下方には、第1始動入賞口13を有する入賞装置が設けられている。第1始動入賞口13に入賞した遊技球は、遊技盤6の背面に導かれ、第1始動口スイッチ13aによって検出される。
また、第1始動入賞口(第1始動口)13を有する入賞装置の下方には、遊技球が入賞可能な第2始動入賞口14を有する可変入賞球装置15が設けられている。第2始動入賞口(第2始動口)14に入賞した遊技球は、遊技盤6の背面に導かれ、第2始動口スイッチ14aによって検出される。可変入賞球装置15は、ソレノイド16によって開状態とされる。可変入賞球装置15が開状態になることによって、遊技球が第2始動入賞口14に入賞可能になり(始動入賞し易くなり)、遊技者にとって有利な状態になる。可変入賞球装置15が開状態になっている状態では、第1始動入賞口13よりも、第2始動入賞口14に遊技球が入賞しやすい。また、可変入賞球装置15が閉状態になっている状態では、遊技球は第2始動入賞口14に入賞しない。従って、可変入賞球装置15が閉状態になっている状態では、第2始動入賞口14よりも、第1始動入賞口13に遊技球が入賞しやすい。なお、可変入賞球装置15が閉状態になっている状態において、入賞はしづらいものの、入賞することは可能である(すなわち、遊技球が入賞しにくい)ように構成されていてもよい。
以下、第1始動入賞口13と第2始動入賞口14とを総称して始動入賞口または始動口ということがある。
可変入賞球装置15が開放状態に制御されているときには可変入賞球装置15に向かう遊技球は第2始動入賞口14に極めて入賞しやすい。そして、第1始動入賞口13は演出表示装置9の直下に設けられているが、演出表示装置9の下端と第1始動入賞口13との間の間隔をさらに狭めたり、第1始動入賞口13の周辺で釘を密に配置したり、第1始動入賞口13の周辺での釘配列を遊技球を第1始動入賞口13に導きづらくして、第2始動入賞口14の入賞率の方を第1始動入賞口13の入賞率よりもより高くするようにしてもよい。
なお、この実施の形態では、図1に示すように、第2始動入賞口14に対してのみ開閉動作を行う可変入賞球装置15が設けられているが、第1始動入賞口13および第2始動入賞口14のいずれについても開閉動作を行う可変入賞球装置が設けられている構成であってもよい。
第1特別図柄表示器8aの側方には、第1始動入賞口13に入った有効入賞球数すなわち第1保留記憶数(保留記憶を、始動記憶または始動入賞記憶ともいう。)を表示する4つの表示器からなる第1特別図柄保留記憶表示器18aが設けられている。第1特別図柄保留記憶表示器18aは、有効始動入賞がある毎に、点灯する表示器の数を1増やす。そして、第1特別図柄表示器8aでの可変表示が開始される毎に、点灯する表示器の数を1減らす。
第2特別図柄表示器8bの側方には、第2始動入賞口14に入った有効入賞球数すなわち第2保留記憶数を表示する4つの表示器からなる第2特別図柄保留記憶表示器18bが設けられている。第2特別図柄保留記憶表示器18bは、有効始動入賞がある毎に、点灯する表示器の数を1増やす。そして、第2特別図柄表示器8bでの可変表示が開始される毎に、点灯する表示器の数を1減らす。
また、演出表示装置9の表示画面の下部には、第1保留記憶数を表示する第1保留記憶表示部18cと、第2保留記憶数を表示する第2保留記憶表示部18dとが設けられている。なお、第1保留記憶数と第2保留記憶数との合計である合計数(合算保留記憶数)を表示する領域(合算保留記憶表示部)が設けられるようにしてもよい。そのように、合計数を表示する合算保留記憶表示部が設けられているようにすれば、可変表示の開始条件が成立していない実行条件の成立数の合計を把握しやすくすることができる。
演出表示装置9は、第1特別図柄表示器8aによる第1特別図柄の可変表示時間中、および第2特別図柄表示器8bによる第2特別図柄の可変表示時間中に、装飾用(演出用)の図柄としての演出図柄の可変表示を行う。第1特別図柄表示器8aにおける第1特別図柄の可変表示と、演出表示装置9における演出図柄の可変表示とは同期している。また、第2特別図柄表示器8bにおける第2特別図柄の可変表示と、演出表示装置9における演出図柄の可変表示とは同期している。また、第1特別図柄表示器8aにおいて大当り図柄が停止表示されるときと、第2特別図柄表示器8bにおいて大当り図柄が停止表示されるときには、演出表示装置9において大当りを想起させるような演出図柄の組み合わせが停止表示される。
なお、この実施の形態では、後述するように、特別図柄の変動表示を制御する遊技制御用マイクロコンピュータ560が変動時間を特定可能な変動パターンコマンドを送信し、演出制御用マイクロコンピュータ100によって、受信した変動パターンコマンドで特定される変動時間に従って演出図柄の変動表示が制御される。そのため、変動パターンコマンドにもとづいて変動時間が特定されることから、特別図柄の変動表示と演出図柄の変動表示とは、原則として同期して実行されるはずである。ただし、万一変動パターンコマンドのデータ化けなどが生じた場合には、遊技制御用マイクロコンピュータ560側で認識している変動時間と、演出制御用マイクロコンピュータ100側で認識している変動時間との間にずれが生ずる可能性がある。そのため、コマンドのデータ化けなどの不測の事態が生じた場合には、特別図柄の変動表示と演出図柄の変動表示とが完全には同期しない事態が生ずる可能性がある。
演出表示装置9の周囲の飾り部において、左側には、モータ86の回転軸に取り付けられ、モータ86が回転すると移動する可動部材78が設けられている。この実施の形態では、可動部材78は、擬似連の演出や予告演出(可動物予告演出)が実行されるときに動作する。また、演出表示装置9の周囲の飾り部において、左右の下方には、モータ87の回転軸に取り付けられ、モータ87が回転すると移動する羽根形状の可動部材(以下、演出羽根役物という。)79a,79bが設けられている。この実施の形態では、演出羽根役物79a,79bは、予告演出(演出羽根役物予告演出)が実行されるときに動作する。
また、図1に示すように、可変入賞球装置15の下方には、特別可変入賞球装置20が設けられている。特別可変入賞球装置20は開閉板を備え、第1特別図柄表示器8aに特定表示結果(大当り図柄)が導出表示されたときと、第2特別図柄表示器8bに特定表示結果(大当り図柄)が導出表示されたときに生起する特定遊技状態(大当り遊技状態)においてソレノイド21によって開閉板が開放状態に制御されることによって、入賞領域である大入賞口が開放状態になる。大入賞口に入賞した遊技球はカウントスイッチ23で検出される。
遊技領域6には、遊技球の入賞にもとづいてあらかじめ決められている所定数の景品遊技球の払出を行うための入賞口(普通入賞口)29,30,33,39も設けられている。入賞口29,30,33,39に入賞した遊技球は、入賞口スイッチ29a,30a,33a,39aで検出される。
遊技盤6の右側方には、普通図柄表示器10が設けられている。普通図柄表示器10は、普通図柄と呼ばれる複数種類の識別情報(例えば、「○」および「×」)を可変表示する。
遊技球がゲート32を通過しゲートスイッチ32aで検出されると、普通図柄表示器10において普通図柄の可変表示が開始される。この実施の形態では、上下のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に下側のランプが点灯すれば当りになる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。すなわち、可変入賞球装置15の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態(第2始動入賞口14に遊技球が入賞可能な状態)に変化する。普通図柄表示器10の近傍には、ゲート32を通過した入賞球数を表示する4つのLEDによる表示部を有する普通図柄保留記憶表示器41が設けられている。ゲート32への遊技球の通過がある毎に、すなわちゲートスイッチ32aによって遊技球が検出される毎に、普通図柄保留記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10において可変表示が開始される毎に、点灯するLEDを1減らす。さらに、通常状態に比べて大当りとすることに決定される確率が高い状態である確変状態(通常状態と比較して、特別図柄の変動表示結果として大当りと判定される確率が高められた状態)では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。また、確変状態ではないが図柄の変動時間が短縮されている時短状態(特別図柄の可変表示時間が短縮される遊技状態)でも、可変入賞球装置15の開放時間と開放回数が高められる。
遊技盤6の遊技領域7の左右周辺には、遊技中に点滅表示される装飾LED25が設けられ、下部には、入賞しなかった打球が取り込まれるアウト口26がある。また、遊技領域7の外側の左右上部には、所定の音声出力として効果音や音声を発声する2つのスピーカ27が設けられている。遊技領域7の外周には、前面枠に設けられた枠LED28が設けられている。
打球供給皿3を構成する部材においては、遊技者により操作可能な操作手段としての操作ボタン120が設けられている。操作ボタン120には、遊技者が押圧操作をすることが可能な押しボタンスイッチが設けられている。なお、操作ボタン120は、遊技者による押圧操作が可能な押しボタンスイッチが設けられているだけでなく、遊技者による回転操作が可能なダイヤルも設けられている。遊技者は、ダイヤルを回転操作することによって、所定の選択(例えば演出の選択)を行うことができる。
遊技機には、遊技者が打球操作ハンドル5を操作することに応じて駆動モータを駆動し、駆動モータの回転力を利用して遊技球を遊技領域7に発射する打球発射装置(図示せず)が設けられている。打球発射装置から発射された遊技球は、遊技領域7を囲むように円形状に形成された打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が第1始動入賞口13に入り第1始動口スイッチ13aで検出されると、第1特別図柄の可変表示を開始できる状態である場合には(例えば、特別図柄の可変表示が終了し、第1の開始条件が成立したこと)、第1特別図柄表示器8aにおいて第1特別図柄の可変表示(変動)が開始されるとともに、演出表示装置9において演出図柄の可変表示が開始される。すなわち、第1特別図柄および演出図柄の可変表示は、第1始動入賞口13への入賞に対応する。第1特別図柄の可変表示を開始できる状態でなければ、第1保留記憶数が上限値に達していないことを条件として、第1保留記憶数を1増やす。
遊技球が第2始動入賞口14に入り第2始動口スイッチ14aで検出されると、第2特別図柄の可変表示を開始できる状態である場合には(例えば、特別図柄の可変表示が終了し、第2の開始条件が成立したこと)、第2特別図柄表示器8bにおいて第2特別図柄の可変表示(変動)が開始されるとともに、演出表示装置9において演出図柄の可変表示が開始される。すなわち、第2特別図柄および演出図柄の可変表示は、第2始動入賞口14への入賞に対応する。第2特別図柄の可変表示を開始できる状態でなければ、第2保留記憶数が上限値に達していないことを条件として、第2保留記憶数を1増やす。
この実施の形態では、確変大当りとなった場合には、遊技状態を高確率状態に移行するとともに、遊技球が始動入賞しやすくなる(すなわち、特別図柄表示器8a,8bや演出表示装置9における可変表示の実行条件が成立しやすくなる)ように制御された遊技状態である高ベース状態に移行する。また、遊技状態が時短状態に移行されたときも、高ベース状態に移行する。高ベース状態である場合には、例えば、高ベース状態でない場合と比較して、可変入賞球装置15が開状態になる頻度が高められたり、可変入賞球装置15が開状態になる時間が延長されたりして、始動入賞しやすくなる。
なお、可変入賞球装置15が開状態になる時間を延長する(開放延長状態ともいう)のでなく、普通図柄表示器10における停止図柄が当り図柄になる確率が高められる普通図柄確変状態に移行することによって、高ベース状態に移行してもよい。普通図柄表示器10における停止図柄が所定の図柄(当り図柄)になると、可変入賞球装置15が所定回数、所定時間だけ開状態になる。その場合、普通図柄確変状態に移行制御することによって、普通図柄表示器10における停止図柄が当り図柄になる確率が高められ、可変入賞球装置15が開状態になる頻度が高まる。従って、普通図柄確変状態に移行すれば、可変入賞球装置15の開放時間と開放回数が高められ、始動入賞しやすい状態(高ベース状態)になる。すなわち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態(始動入賞しやすい状態)に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
また、普通図柄表示器10における普通図柄の変動時間(可変表示期間)が短縮される普通図柄時短状態に移行することによって、高ベース状態に移行してもよい。普通図柄時短状態では、普通図柄の変動時間が短縮されるので、普通図柄の変動が開始される頻度が高くなり、結果として普通図柄が当りになる頻度が高くなる。従って、普通図柄が当たりになる頻度が高くなることによって、可変入賞球装置15が開状態になる頻度が高くなり、始動入賞しやすい状態(高ベース状態)になる。
また、特別図柄や演出図柄の変動時間(可変表示期間)が短縮される時短状態に移行することによって、特別図柄や演出図柄の変動時間が短縮されるので、特別図柄や演出図柄の変動が開始される頻度が高くなり(換言すれば、保留記憶の消化が速くなる。)、無効な始動入賞が生じてしまう事態を低減することができる。従って、有効な始動入賞が発生しやすくなり、結果として、大当り遊技が行われる可能性が高まる。
さらに、上記に示した全ての状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)に移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。また、上記に示した各状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)のうちのいずれか複数の状態に移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。また、上記に示した各状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)のうちのいずれか1つの状態にのみ移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。
図2は、主基板(遊技制御基板)31における回路構成の一例を示すブロック図である。なお、図2は、払出制御基板37および演出制御基板80等も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する遊技制御用マイクロコンピュータ(遊技制御手段に相当)560、制御用クロック生成回路111、および乱数用クロック生成回路112が搭載されている。遊技制御用マイクロコンピュータ560は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段としてのRAM55、プログラムに従って制御動作を行うCPU56を含む。また、この実施の形態では、ROM54およびRAM55は遊技制御用マイクロコンピュータ560に内蔵されている。すなわち、遊技制御用マイクロコンピュータ560は、1チップマイクロコンピュータである。1チップマイクロコンピュータには、少なくともCPU56のほかRAM55が内蔵されていればよく、ROM54は外付けであっても内蔵されていてもよい。遊技制御用マイクロコンピュータ560には、さらに、ハードウェア乱数(ハードウェア回路が発生する乱数)を発生する乱数回路508a,508bが内蔵されている。
ここで、制御用クロック生成回路111は、遊技制御用マイクロコンピュータ560の外部で、所定周波数の発振信号である制御用クロックCCLKを生成する。制御用クロック生成回路111により生成された制御用クロックCCLKは、例えば、図6に示すような遊技制御用マイクロコンピュータ560の制御用外部クロック端子を介してクロック回路502に供給される。乱数用クロック生成回路112は、遊技制御用マイクロコンピュータ560の外部で、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号である乱数用クロックRCLKを生成する。乱数用クロック生成回路112により生成された乱数用クロックRCLKは、例えば、図6に示すような遊技制御用マイクロコンピュータ560の乱数用外部クロック端子(RCK端子)を介して乱数回路508a,508bに供給される。一例として、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数以下になるようにすればよい。また、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数が、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数よりも高周波になるようにしてもよい。
なお、この実施の形態では、乱数用クロック生成回路112からの専用の乱数用クロックRCLKが乱数回路508a,508bに入力されるが、例えば、専用のクロックを用いるのではなく、制御用クロック生成回路111からの制御用クロックCCLKを遊技制御用マイクロコンピュータ560内部で乱数回路508a,508bに入力させるようにしてもよい。その場合、例えば、制御用クロックCCLKを分周した信号を用いて乱数回路508a,508b内蔵の乱数カウンタ(図23に示す乱数生成回路525a,525bに相当)が更新されるようにしてもよい。また、乱数用クロック生成回路112を主基板31に設けなくてもよい。
また、RAM55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグなど)と未払出賞球数を示すデータは、バックアップRAMに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、RAM55の全部が、電源バックアップされている。よって、RAM55の全領域がバックアップRAM領域である。
なお、遊技制御用マイクロコンピュータ560においてCPU56がROM54に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ560(またはCPU56)が実行する(または、処理を行う)ということは、具体的には、CPU56がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているマイクロコンピュータについても同様である。ただし、後述するように、遊技機への電源投入時やシステムリセット発生時には、遊技制御用マイクロコンピュータ560は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定、レジスタの設定などを行うのであるが、遊技制御用マイクロコンピュータ560は、この設定動作を、プログラムによらず内部のハードウェア回路で実行する。
また、ゲートスイッチ32a、始動口スイッチ13a、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39aからの検出信号を遊技制御用マイクロコンピュータ560に与える入力ドライバ回路58も主基板31に搭載されている。また、可変入賞球装置15を開閉するソレノイド16、および大入賞口を形成する特別可変入賞球装置20を開閉するソレノイド21を遊技制御用マイクロコンピュータ560からの指令に従って駆動する出力回路59も主基板31に搭載されている。
また、遊技制御用マイクロコンピュータ560は、特別図柄を可変表示する第1特別図柄表示器8a、第2特別図柄表示器8b、普通図柄を可変表示する普通図柄表示器10、第1特別図柄保留記憶表示器18a、第2特別図柄保留記憶表示器18bおよび普通図柄保留記憶表示器41の表示制御を行う。
なお、大当り遊技状態の発生を示す大当り情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路(図示せず)も主基板31に搭載されている。
主基板31と演出制御基板80との間では、例えば主基板31から中継基板77を介して演出制御基板80へと向かう単一方向のみでシリアル通信などで、各種の演出制御コマンドが伝送される。この実施の形態では、演出制御基板80に搭載されている演出制御手段(演出制御用マイクロコンピュータで構成される。)が、中継基板77を介して遊技制御用マイクロコンピュータ560から演出内容を指示する演出制御コマンドを受信し、演出図柄を可変表示する演出表示装置9の表示制御を行う。
また、演出制御基板80に搭載されている演出制御手段が、ランプドライバ基板35を介して、遊技盤に設けられている装飾LED25、および枠側に設けられている枠LED28の表示制御を行うとともに、音声出力基板70を介してスピーカ27からの音出力の制御を行う。
図3は、中継基板77、演出制御基板80、ランプドライバ基板35および音声出力基板70の回路構成例を示すブロック図である。なお、図3に示す例では、ランプドライバ基板35および音声出力基板70には、マイクロコンピュータは搭載されていないが、マイクロコンピュータを搭載してもよい。また、ランプドライバ基板35および音声出力基板70を設けずに、演出制御に関して演出制御基板80のみを設けてもよい。
演出制御基板80は、演出制御用CPU101、および演出図柄プロセスフラグ等の演出に関する情報を記憶するRAMを含む演出制御用マイクロコンピュータ100を搭載している。なお、RAMは外付けであってもよい。この実施の形態では、演出制御用マイクロコンピュータ100におけるRAMは電源バックアップされていない。演出制御基板80において、演出制御用CPU101は、内蔵または外付けのROM(図示せず)に格納されたプログラムに従って動作し、中継基板77を介して演出制御コマンドを受信する。また、演出制御用CPU101は、演出制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に演出表示装置9の表示制御を行わせる。
この実施の形態では、演出制御用マイクロコンピュータ100と共動して演出表示装置9の表示制御を行うVDP109が演出制御基板80に搭載されている。VDP109は、演出制御用マイクロコンピュータ100とは独立したアドレス空間を有し、そこにVRAMをマッピングする。VRAMは、画像データを展開するためのバッファメモリである。そして、VDP109は、VRAM内の画像データをフレームメモリを介して演出表示装置9に出力する。
演出制御用CPU101は、受信した演出制御コマンドに従ってCGROM(図示せず)から必要なデータを読み出すための指令をVDP109に出力する。CGROMは、演出表示装置9に表示されるキャラクタ画像データや動画像データ、具体的には、人物、文字、図形や記号等(演出図柄を含む)、および背景画像のデータをあらかじめ格納しておくためのROMである。VDP109は、演出制御用CPU101の指令に応じて、CGROMから画像データを読み出す。そして、VDP109は、読み出した画像データにもとづいて表示制御を実行する。
また、演出制御用CPU101は、出力ポート106を介して、可動部材78を動作させるためにモータ86を駆動する。また、演出制御用CPU101は、出力ポート106を介して、演出羽根役物79a,79bを動作させるためのモータ87を駆動する。
また、演出制御用CPU101は、入力ポート107を介して、遊技者による操作ボタン120の押圧操作に応じて操作ボタン120からの信号を入力する。
さらに、演出制御用CPU101は、出力ポート105を介してランプドライバ基板35に対してLEDを駆動する信号を出力する。また、演出制御用CPU101は、出力ポート104を介して音声出力基板70に対して音番号データを出力する。
ランプドライバ基板35において、LEDを駆動する信号は、入力ドライバ351を介してLEDドライバ352に入力される。LEDドライバ352は、LEDを駆動する信号にもとづいて枠LED28などの枠側に設けられている発光体に電流を供給する。また、遊技盤側に設けられている装飾LED25に電流を供給する。
音声出力基板70において、音番号データは、入力ドライバ702を介して音声合成用IC703に入力される。音声合成用IC703は、音番号データに応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。音声データROM704には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば演出図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
次に、電源基板910の構成を図4のブロック図を参照して説明する。電源基板910には、遊技機内の各電気部品制御基板(主基板31、払出制御基板37および演出制御基板80等)や電気部品(電力を受けて動作する部品)への電力供給を実行または遮断するための電源スイッチ914が設けられている。なお、電源スイッチ914は、遊技機において、電源基板910の外に設けられていてもよい。電源スイッチ914が閉状態(オン状態)では、交流電源(AC24V)がトランス911の入力側(一次側)に印加される。トランス911は、交流電源(AC24V)と電源基板910の内部とを電気的に絶縁するためのものであるが、その出力電圧もAC24Vである。また、トランス911の入力側には、過電圧保護回路としてのバリスタ918が設置されている。
電源基板910は、電気部品制御基板と独立して設置され、遊技機内の各基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、VLP(DC+24V)、VDD(DC+12V)およびVCC(DC+5V)を生成する。また、バックアップ電源(VBB)すなわちバックアップRAMに記憶内容を保持させるための記憶保持手段の一例であるコンデンサ916は、DC+5V(VCC)すなわち各基板上のIC等を駆動する電源のラインから充電される。また、+5Vラインとバックアップ+5V(VBB)ラインとの間に、逆流防止用のダイオード917が挿入される。なお、VSLは、整流平滑回路915において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源になる。また、VLPは、ランプ点灯用の電圧であって、整流回路912において、整流素子でAC24Vを整流することによって生成される。
電源電圧生成手段としてのDC−DCコンバータ913は、1つまたは複数のスイッチングレギュレータ(図4では2つのレギュレータIC924A,924Bを示す。)を有し、VSLにもとづいてVDDおよびVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。
図4に示すように、トランス911から出力されたAC24Vは、コネクタ922Bに供給される。また、VLPは、コネクタ922Cに供給される。VCC、VDDおよびVSLは、コネクタ922A,922B,922Cに供給される。
コネクタ922Aに接続されるケーブルは、主基板31に接続される。また、コネクタ922Bに接続されるケーブルは、払出制御基板37に接続される。従って、コネクタ922A,922Bには、VBBも供給されている。例えば、コネクタ922Cに接続されるケーブルは、ランプドライバ基板35に接続される。なお、演出制御基板80および音声出力基板70には、ランプドライバ基板35を経由して各電圧が供給される。
また、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリア信号が出力され、コネクタ922Aを介して主基板31に出力される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、クリアスイッチ921は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ921は、遊技機において、電源基板910以外に設けられていてもよい。
さらに、電源基板910には、電気部品制御基板に搭載されているマイクロコンピュータに対するリセット信号を作成するとともに、電源断信号(電圧低下信号)を出力する電源監視回路920と、電源監視回路920からのリセット信号を増幅してコネクタ922A,922B,922Cに出力するとともに、電源断信号を増幅してコネクタ922Bに出力する出力ドライバ回路925が搭載されている。
電源監視回路920は電源断信号を出力する電源監視手段とリセット信号を生成するリセット信号生成手段とを実現する回路であるが、電源監視回路920として、市販の停電監視リセットモジュールICを使用することができる。電源監視回路920は、遊技機において用いられる所定電圧(例えば+24V)が所定値(例えば+5Vであるが、+18Vなど他の値としてもよい)以下になった期間が、あらかじめ決められている時間(例えば56ms)以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態(ローレベル)にする。なお、この実施の形態では、遊技機に設けられている各スイッチ(遊技球を検出するためのスイッチ等)の駆動電圧が+12Vであるから、電源断信号が出力されるときの電圧の所定値を+12Vよりも高くすれば、電力供給停止時のスイッチの誤検出防止が確実になる。
また、電源監視回路920は、例えば、VCCが+4.5V以下になると、リセット信号をローレベルにする。なお、この実施の形態では、電源断信号を出力する機能とリセット信号を出力する機能とが1つの電源監視回路920で実現されているが、それらを別の回路で実現してもよい。
電源監視回路920は、遊技機に対する電力供給が停止する際には、電源断信号を出力(ローレベルにする)してから所定期間が経過したことを条件にリセット信号をローレベルにする。所定期間は、主基板31に搭載されている遊技制御用マイクロコンピュータ560が、後述する電力供給停止時処理を実行するのに十分な時間である。すなわち、電源監視回路920は、電圧低下検出信号としての電源断信号を出力した後、遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータが、電力供給停止時処理を実行完了した後に、動作停止信号(リセット信号のローレベル)を出力する。また、遊技機に対する電力供給が開始され、VCCが例えば+4.5Vを越えるとリセット信号をハイレベルにする。
電源監視回路920からの電源断信号すなわち電源監視手段からの検出信号は、主基板31において、遊技制御用マイクロコンピュータのマスク不能割込端子(NMI端子:図示せず)に入力される。遊技制御用マイクロコンピュータは、マスク不能割込の発生によって遊技機への電力供給が停止することを確認することができる。
なお、この実施の形態では、電源監視手段が所定電位の電源の出力を監視し、外部から遊技機に供給される電力の供給停止に関わる検出条件として、遊技機の外部からの電圧(この実施の形態ではAC24V)から作成された所定の直流電圧が所定値以下になったことを用いたが、検出条件は、それに限られず、外部からの電力が途絶えたことを検出できるのである場合には、他の条件を用いてもよい。例えば、交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をディジタル化した信号を監視して、ディジタル信号が平坦になったことをもって交流波が途絶えたことを検出条件としてもよい。さらに、例えば、+12V電源電圧や+5V電源電圧を監視して、その電圧が所定値にまで低下したことを検出して電源断信号を出力するようにしてもよい。ただし、+12Vで動作するスイッチの誤動作を防止するために、+12Vよりも高い電圧を監視することが好ましい。
図5は、パチンコ遊技機1への電力供給が開始されたとき、および電力供給が停止するときにおける、AC24V、VSL、VCC、リセット信号および電源断信号の状態を、模式的に示すタイミング図である。図5に示すように、パチンコ遊技機1への電力供給が開始されたときに、VSLおよびVCCは徐々に規定値(DC+30VおよびDC+5V)に達する。このとき、VCCが第1の所定値を越えると、電源監視回路920はリセット信号の出力を停止(ハイレベルに設定)してオフ状態とする。また、VSLが第2の所定値を越えると、電源監視回路920は電源断信号の出力を停止(ハイレベルに設定)してオフ状態とする。パチンコ遊技機1への電力供給が停止するときに、VSLおよびVCCは徐々に低下する。VSLが第2の所定値にまで低下すると、電源監視回路920は電源断信号をオン状態として出力(ローレベルに設定)する。また、VCCが第1の所定値にまで低下すると、電源監視回路920はリセット信号をオン状態として出力(ローレベルに設定)する。
図6は、主基板31に搭載された遊技制御用マイクロコンピュータ560の構成例を示すブロック図である。図6に示す遊技制御用マイクロコンピュータ560は、例えば1チップマイクロコンピュータであり、外部バスインタフェース501と、クロック回路502と、照合用ブロック503と、固有情報記憶回路504と、演算回路505と、リセット/割込みコントローラ506と、CPU(Central Processing Unit)56と、ROM(Read Only Memory)54と、RAM(Random Access Memory)55と、フリーランカウンタ回路507と、乱数回路508a,508bと、タイマ回路509と、割り込みコントローラ510と、パラレル入力ポート511と、シリアル通信回路512と、パラレル出力ポート513と、アドレスデコード回路514とを備えて構成される。
また、遊技制御用マイクロコンピュータ560が搭載する乱数回路には、8ビット乱数を発生させる8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとがある。なお、図6に示す例では、8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとが1つずつ図示されているが、遊技制御用マイクロコンピュータ560は、8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとを、それぞれ4回路(4チャネル)ずつ搭載している。なお、この実施の形態では、8ビット乱数回路508aの4つのチャネルをRS0〜RS3と表現する場合があり、16ビット乱数回路508bの4つのチャネルをRL0〜RL3と表現する場合がある。
また、リセット/割り込みコントローラ506は、指定エリア外走行禁止(IAT)回路506aとウオッチドッグタイマ(WDT)506bとを備える。IAT回路506aは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとIAT発生信号を出力する機能を備える。また、ウオッチドッグタイマ506bは、設定期間(監視時間)が経過するとタイムアウト信号を発生させる機能を備える。
図7は、遊技制御用マイクロコンピュータ560におけるアドレスマップの一例を示す説明図である。図7に示すように、アドレス0000H〜アドレス2FFFHの領域は、遊技制御用マイクロコンピュータ560のROM54に割り当てられ、プログラムコード/データエリア(ユーザプログラムやデータを格納するエリア)とプログラム管理エリアとを含んでいる。図8は、ROM54におけるプログラム管理エリアの主要部分について、用途や内容の一例を示す説明図である。アドレスF000H〜アドレスF3FFHの領域は、遊技制御用マイクロコンピュータ560のRAM55に割り当てられている。アドレスFE00H〜アドレスFEBFHの領域は、遊技制御用マイクロコンピュータ560の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図9〜図11は、内蔵レジスタエリアの主要部分の用途や内容の一例を示す説明図である。アドレスFED0H〜アドレスFEFDHの領域は、アドレスデコード回路514に割り当てられるXCS,XCSEデコードエリアである。
プログラム管理エリアは、遊技制御用マイクロコンピュータ560がシステムリセット時に内部リセット動作の設定や乱数回路508a,508bの設定など各種設定を行うために必要な情報を格納する記憶領域である。図8に示すように、プログラム管理エリアには、ヘッダ(KHDR)、プログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)、プログラムコードエンドアドレス2(KPCE2)、リセット設定(KRES)、16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)、16ビット乱数初期設定3(KRL3)、8ビット乱数初期設定1(KRS1)、8ビット乱数初期設定2(KRS2)、セキュリティ時間設定(KSES)、乱数クロック監視設定(KRCS)などが含まれている。また、図9〜図11に示すように、内蔵レジスタエリアには、WDTスタートレジスタ(WST)、WDTクリアレジスタ(WCL)、内部情報レジスタ(CIF)や、乱数回路508a,508bで用いる各種レジスタなどが含まれている。
プログラム管理エリアに記憶されるヘッダ(KHDR)は、プログラム管理エリアのスタートを示す8バイトのコード列の設定、および遊技制御用マイクロコンピュータ560における内部データの読出設定を示す。図12は、ヘッダ(KHDR)における設定データと動作との対応関係をの一例を示す説明図である。遊技制御用マイクロコンピュータ560では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、遊技制御用マイクロコンピュータ560が備えるROM54の記憶データについて、読出動作を許可または禁止する機能であり、読出禁止に設定された状態では、ROM54の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置から遊技制御用マイクロコンピュータ560の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力および制御信号出力をマスクすることによって、外部装置から内部データの読み出しを不能にする機能である。
図12に示すように、プログラム管理エリアのスタートを示す8バイトのコード列として設定する設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図12に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクを有効にする設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクを有効にする設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクを無効にする設定データを、バス出力マスク無効データともいう。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス(KPCE)は、ユーザプログラムの0000Hから続くプログラムコードエリアの最終アドレスの設定を示す。図13(A)は、プログラムコードエンドアドレス(KPCE)における設定内容の一例を示す説明図である。
この実施の形態では、アドレス0000H〜アドレス2FBFHまでのプログラムコード/データエリア内に2つのプログラムコードエリアを設定可能である。具体的には、1つ目のプログラムコードエリアは、アドレス0000Hからプログラムコードエンドアドレス(KPCE)で設定されるアドレスまでのエリアとして設定可能であり、2つ目のプログラムコードエリアは、プログラムコードスタートアドレス2(KPCS2)で設定されるアドレスからプログラムコードエンドアドレス2(KPCE2)で設定されるアドレスまでのエリアとして設定可能である。以下、1つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード1ともいい、2つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード2ともいう。
図13(A)に示すように、プログラムコードエンドアドレス(KPCE)のアドレス2FD3Hには、プログラムコード1の最終アドレスの下位アドレスが設定される。また、アドレス2FD4Hには、プログラムコード1の最終アドレスの上位アドレスが設定される。
プログラム管理エリアに記憶されるプログラムコードスタートアドレス2(KPCS2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの先頭アドレスの設定を示す。図13(B)は、プログラムコードスタートアドレス2(KPCS2)における設定内容の一例を示す説明図である。
図13(B)に示すように、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5Hには、プログラムコード2の先頭アドレスの下位アドレスが設定される。また、アドレス2FD6Hには、プログラムコード2の先頭アドレスの上位アドレスが設定される。なお、プログラムコードエリアを2つに分けない場合には、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5Hおよびアドレス2FD6Hに0000Hを設定するようにすればよい。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス2(KPCE2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの最終アドレスの設定を示す。図13(C)は、プログラムコードエンドアドレス2(KPCE2)における設定内容の一例を示す説明図である。
図13(C)に示すように、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7Hには、プログラムコード2の最終アドレスの下位アドレスが設定される。また、アドレス2FD8Hには、プログラムコード2の最終アドレスの上位アドレスが設定される。なお、プログラムコードエリアを2つに分けない場合には、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7Hおよびアドレス2FD8Hに0000Hを設定するようにすればよい。
また、図13に示すプログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)およびプログラムコードエンドアドレス2(KPCE2)の設定内容は、IAT回路506aによってユーザプログラムが指定エリア内で正しく実行されているか否かを監視する際に参照される。すなわち、IAT回路506aは、0000Hからプログラムコードエンドアドレス(KPCE)で示されるアドレス、またはプログラムコードスタートアドレス2(KPCS2)で示されるアドレスからプログラムコードエンドアドレス2(KPCE2)で示されるアドレスまでの指定範囲でユーザプログラムが実行されているか否かを判定し、その指定範囲外でユーザプログラムが実行されていることを検出したことにもとづいてIAT信号を出力する。
プログラム管理エリアに記憶されるリセット設定(KRES)は、内部リセット動作やウオッチドッグタイマ(WDT)506bの動作許可/禁止の設定を示す。図14は、リセット設定(KRES)における設定内容の一例を示す説明図である。
リセット設定(KRES)のビット[7]は、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力したことや、IATが発生したこと(IAT回路506aからのIAT信号を入力したとき)によって内部リセットが発生したときの動作設定のためのビットである。図14に示す例では、リセット設定(KRES)のビット[7]のビット値が”0”である場合には、タイムアウト信号やIAT信号を入力したときにユーザリセットが発生する。リセット設定(KRES)のビット[7]のビット値が”1”である場合には、タイムアウト信号やIAT信号を入力したときにシステムリセットが発生する。
リセット設定(KRES)のビット[6]は、ウオッチドッグタイマ(WDT)506bの起動方法の設定のためのビットである。図14に示す例では、リセット設定(KRES)のビット[6]のビット値が”0”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にウオッチドッグタイマ(WDT)506bが起動され時間計測が開始される。リセット設定(KRES)のビット[6]のビット値が”1”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によってウオッチドッグタイマ(WDT)506bが起動されると時間計測が開始される。
リセット設定(KRES)のビット[5−4]は、ウオッチドッグタイマ(WDT)506bの基準クロック信号の設定のためのビットである。図14に示す例では、ビット[5−4]に”00”が設定された場合には、基準クロック信号として215×TSCLKが選択される。のビット[5−4]に”01”が設定された場合には、基準クロック信号として219×TSCLKが選択される。ビット[5−4]に”10”が設定された場合には、基準クロック信号として222×TSCLKが選択される。ビット[5−4]に”11”が設定された場合には、基準クロック信号として225×TSCLKが選択される。なお、SCLKは、遊技制御用マイクロコンピュータ560の内部システムクロックであり、TSCLKは、1/SCLKを示す。
リセット設定(KRES)のビット[3−0]は、ウオッチドッグタイマ(WDT)506bによる監視時間のタイムアウト時間の設定のためのビットである。具体的には、ウオッチドッグタイマ(WDT)506bのタイムアウト時間は、リセット設定(KRES)のビット[5−4]で選択される基準クロックに、リセット設定(KRES)のビット[3−0]で設定される設定値を乗算した値になる。例えば、リセット設定(KRES)のビット[3−0]に”1000”が設定(すなわち、値「8」を設定)され、リセット設定(KRES)のビット[5−4]に”00”が設定された場合には、タイムアウト時間は215×TSCLK×8になり、リセット設定(KRES)のビット[5−4]に”01”が設定された場合には、タイムアウト時間は219×TSCLK×8になり、リセット設定(KRES)のビット[5−4]に”10”が設定された場合には、タイムアウト時間は222×TSCLK×8になり、リセット設定(KRES)のビット[5−4]に”11”が設定された場合には、タイムアウト時間は225×TSCLK×8になる。
また、リセット設定(KRES)のビット[3−0]に”1111”が設定(すなわち、値「15」を設定)され、リセット設定(KRES)のビット[5−4]に”00”が設定された場合には、タイムアウト時間は215×TSCLK×15になり、リセット設定(KRES)のビット[5−4]に”01”が設定された場合には、タイムアウト時間は219×TSCLK×15になり、リセット設定(KRES)のビット[5−4]に”10”が設定された場合には、タイムアウト時間は222×TSCLK×15になり、リセット設定(KRES)のビット[5−4]に”11”が設定された場合には、タイムアウト時間は225×TSCLK×15になる。なお、図14には、内部システムクロックが10.0MHzである場合と12.0MHzである場合のタイムアウト時間の値の具体例も示されている。
また、ウオッチドッグタイマ(WDT)506bを使用しないように設定する場合には、CPU56は、図14に示すように、リセット設定(KRES)のビット[3−0]に”0000”を設定する。ただし、リセット設定(KRES)のビット[3−0]に”0000”がセットされてWDT506bが使用禁止状態に設定された場合であっても、CPU56は、リセット設定(KRES)のビット[7]設定することによって、システムリセットするかユーザリセットとするかの設定を行うことが可能である。
プログラム管理エリアに記憶される16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)および16ビット乱数初期設定3(KRL3)は、16ビット乱数回路508bの設定を示す。図15は、16ビット乱数初期設定1(KRL1)のにおける設定内容の一例を示す説明図である。図16は、16ビット乱数初期設定2(KRL2)のにおける設定内容の一例を示す説明図である。図17は、16ビット乱数初期設定3(KRL3)のにおける設定内容の一例を示す説明図である。
図15を用いて、16ビット乱数初期設定1(KRL1)における設定内容を説明する。16ビット乱数初期設定1(KRL1)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの起動方法の設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「7」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によって乱数の最大値設定が行われることによって、チャネル1の16ビット乱数回路508bが起動される。16ビット乱数初期設定1(KRL1)のビット「7」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル1の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「6」は、チャネル1の16ビット乱数回路508bの更新クロックの設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「6」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックが更新クロックとして用いられる。16ビット乱数初期設定1(KRL1)のビット「6」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号が更新クロックとして用いられる。
なお、この実施の形態では、既に説明した乱数用クロック生成回路112が生成した乱数用クロックRCLKを乱数用外部クロック端子(RCK端子)を介して入力し、その乱数用クロックRCLKを2分周した信号を更新クロックとして用いる。このことは、他のチャネルの16ビット乱数回路508bや8ビット乱数回路508aについても同様である。
16ビット乱数初期設定1(KRL1)のビット「5−4」は、チャネル1の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「5−4」のビット値が”00”である場合には、チャネル1の16ビット乱数回路508bが更新する乱数列は変更されない。ビット「5−4」のビット値が”01”である場合には、チャネル1の16ビット乱数回路508bが更新する乱数列がソフトウェア(ユーザプログラム)で変更可能になる。ビット「5−4」のビット値が”10”である場合には、チャネル1の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。ビット「5−4」のビット値が”11”である場合には、チャネル1の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
16ビット乱数初期設定1(KRL1)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの起動方法の設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「3」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によって乱数の最大値設定が行われることによって、チャネル0の16ビット乱数回路508bが起動される。ビット「3」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行することにもとづいて自動的にチャネル0の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「2」は、チャネル0の16ビット乱数回路508bの更新クロックの設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「2」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックが更新クロックとして用いられる。ビット「2」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号が更新クロックとして用いられる。
16ビット乱数初期設定1(KRL1)のビット「1−0」は、チャネル0の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定のためのビットである。図15に示す例では、16ビット乱数初期設定1(KRL1)のビット「1−0」のビット値が”00”である場合には、チャネル0の16ビット乱数回路508bが更新する乱数列は変更されない。ビット「1−0」のビット値が”01”である場合には、チャネル0の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)によって変更可能になる。ビット「1−0」のビット値が”10”である場合には、チャネル0の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。ビット「1−0」のビット値が”11”である場合には、チャネル0の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図16を用いて、16ビット乱数初期設定2(KRL2)における設定内容を説明する。16ビット乱数初期設定2(KRL2)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの起動方法の設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「7」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によって乱数の最大値設定が行われたことによって、チャネル3の16ビット乱数回路508bが起動される。16ビット乱数初期設定2(KRL2)のビット「7」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル3の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「6」は、チャネル3の16ビット乱数回路508bの更新クロックの設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「6」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。16ビット乱数初期設定2(KRL2)のビット「6」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「5−4」は、チャネル3の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「5−4」のビット値が”00”である場合には、チャネル3の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定2(KRL2)のビット「5−4」のビット値が”01”である場合には、チャネル3の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、16ビット乱数初期設定2(KRL2)のビット「5−4」のビット値が”10”である場合には、チャネル3の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定2(KRL2)のビット「5−4」のビット値が”11”である場合には、チャネル3の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
16ビット乱数初期設定2(KRL2)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル2の16ビット乱数回路508bの起動方法の設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「3」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)で乱数の最大値設定が行われたことによって、チャネル2の16ビット乱数回路508bが起動される。16ビット乱数初期設定2(KRL2)のビット「3」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル2の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「2」は、チャネル2の16ビット乱数回路508bの更新クロックの設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「2」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。16ビット乱数初期設定2(KRL2)のビット「2」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「1−0」は、チャネル2の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定のためのビットである。図16に示す例では、16ビット乱数初期設定2(KRL2)のビット「1−0」のビット値が”00”である場合には、チャネル2の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定2(KRL2)のビット「1−0」のビット値が”01”である場合には、チャネル2の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、16ビット乱数初期設定2(KRL2)のビット「1−0」のビット値が”10”である場合には、チャネル2の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定2(KRL2)のビット「1−0」のビット値が”11”である場合には、チャネル2の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図17を用いて、16ビット乱数初期設定3(KRL3)のにおける設定内容を説明する。16ビット乱数初期設定3(KRL3)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの1周目からのスタート値の設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「7」のビット値が”0”である場合には、乱数更新の1周目のスタート値として0001Hが用いられる。16ビット乱数初期設定3(KRL3)のビット「7」のビット値が”1”である場合には、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。遊技制御用マイクロコンピュータ560のIDナンバはチップごとに異なることから、スタート値としてIDナンバをもとにした値を用いることによって、乱数の更新タイミングを予測しにくくすることができ、乱数の更新タイミングを狙って不正に大当りを発生させるような行為を防止することができる。なお、IDナンバをもとにした値として、IDナンバそのものを用いてもよいし、IDナンバに所定の演算(例えば、所定値を加算したり減算したりした値)を用いてもよい。
16ビット乱数初期設定3(KRL3)のビット「6」は、チャネル3の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「6」のビット値が”0”である場合には、システムリセット時にスタート値の変更は行わない。16ビット乱数初期設定3(KRL3)のビット「6」のビット値が”1”である場合には、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「5」は、4チャネルの16ビット乱数回路508bのうち、チャネル2の16ビット乱数回路508bの1周目からのスタート値の設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「5」のビット値が”0”である場合には、乱数更新の1周目のスタート値として0001Hが用いられる。16ビット乱数初期設定3(KRL3)のビット「5」のビット値が”1”である場合には、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「4」は、チャネル2の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「4」のビット値が”0”である場合には、システムリセット時にスタート値の変更は行わない。16ビット乱数初期設定3(KRL3)のビット「6」のビット値が”1”である場合には、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの1周目からのスタート値の設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「3」のビット値が”0”である場合には、乱数更新の1周目のスタート値として0001Hが用いられる。16ビット乱数初期設定3(KRL3)のビット「3」のビット値が”1”である場合には、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「2」は、チャネル1の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「2」のビット値が”0”である場合には、システムリセット時にスタート値の変更は行わない。16ビット乱数初期設定3(KRL3)のビット「2」のビット値が”1”である場合には、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「1」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの1周目からのスタート値の設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「1」のビット値が”0”である場合には、乱数更新の1周目のスタート値として0001Hが用いられる。16ビット乱数初期設定3(KRL3)のビット「1」のビット値が”1”である場合には、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「0」は、チャネル0の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定のためのビットである。図17に示す例では、16ビット乱数初期設定3(KRL3)のビット「0」のビット値が”0”である場合には、システムリセット時にスタート値の変更は行わない。16ビット乱数初期設定3(KRL3)のビット「0」のビット値が”1”である場合には、CPU56は、システムリセットごとにスタート値を変更する。
プログラム管理エリアに記憶される8ビット乱数初期設定1(KRS1)および8ビット乱数初期設定2(KRS2)は、8ビット乱数回路508aの設定を示す。図18は、8ビット乱数初期設定1(KRS1)のにおける設定内容の一例を示す説明図である。図19は、8ビット乱数初期設定2(KRS2)のにおける設定内容の一例を示す説明図である。
図18を用いて、8ビット乱数初期設定1(KRS1)における設定内容を説明する。8ビット乱数初期設定1(KRS1)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル1の8ビット乱数回路508aの起動方法の設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「7」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)で乱数の最大値設定が行われたことによって、チャネル1の8ビット乱数回路508aが起動される。8ビット乱数初期設定1(KRS1)のビット「7」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル1の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「6」は、チャネル1の8ビット乱数回路508aの更新クロックの設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「6」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。8ビット乱数初期設定1(KRS1)のビット「6」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「5−4」は、チャネル1の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「5−4」のビット値が”00”である場合には、チャネル1の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定1(KRS1)のビット「5−4」のビット値が”01”である場合には、チャネル1の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、8ビット乱数初期設定1(KRS1)のビット「5−4」のビット値が”10”である場合には、チャネル1の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定1(KRS1)のビット「5−4」のビット値が”11”である場合には、チャネル1の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
8ビット乱数初期設定1(KRS1)のビット「3」は、4チャネルの8ビット乱数回路508aのうち、チャネル0の8ビット乱数回路508aの起動方法の設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「3」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)で乱数の最大値設定が行われたことにより、チャネル0の8ビット乱数回路508aが起動される。8ビット乱数初期設定1(KRS1)のビット「3」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル0の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「2」は、チャネル0の8ビット乱数回路508aの更新クロックの設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「2」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。8ビット乱数初期設定1(KRS1)のビット「2」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「1−0」は、チャネル0の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定のためのビットである。図18に示す例では、8ビット乱数初期設定1(KRS1)のビット「1−0」のビット値が”00”である場合には、チャネル0の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定1(KRS1)のビット「1−0」のビット値が”01”である場合には、チャネル0の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、8ビット乱数初期設定1(KRS1)のビット「1−0」のビット値が”10”である場合には、チャネル0の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定1(KRS1)のビット「1−0」のビット値が”11”である場合には、チャネル0の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図19を用いて、8ビット乱数初期設定2(KRS2)における設定内容を説明する。8ビット乱数初期設定2(KRS2)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル3の8ビット乱数回路508aの起動方法の設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「7」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)で乱数の最大値設定が行われたことによって、チャネル3の8ビット乱数回路508aが起動される。8ビット乱数初期設定2(KRS2)のビット「7」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル3の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「6」は、チャネル3の8ビット乱数回路508aの更新クロックの設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「6」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。8ビット乱数初期設定2(KRS2)のビット「6」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「5−4」は、チャネル3の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「5−4」のビット値が”00”である場合には、チャネル3の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定2(KRS2)のビット「5−4」のビット値が”01”である場合には、チャネル3の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、8ビット乱数初期設定2(KRS2)のビット「5−4」のビット値が”10”である場合には、チャネル3の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定2(KRS2)のビット「5−4」のビット値が”11”である場合には、チャネル3の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
8ビット乱数初期設定2(KRS2)のビット「3」は、4チャネルの8ビット乱数回路508aのうち、チャネル2の8ビット乱数回路508aの起動方法の設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「3」のビット値が”0”である場合には、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)で乱数の最大値設定が行われたことによって、チャネル2の8ビット乱数回路508aが起動される。8ビット乱数初期設定2(KRS2)のビット「3」のビット値が”1”である場合には、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル2の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「2」は、チャネル2の8ビット乱数回路508aの更新クロックの設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「2」のビット値が”0”である場合には、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。8ビット乱数初期設定2(KRS2)のビット「2」のビット値が”1”である場合には、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「1−0」は、チャネル2の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定のためのビットである。図19に示す例では、8ビット乱数初期設定2(KRS2)のビット「1−0」のビット値が”00”である場合には、チャネル2の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定2(KRS2)のビット「1−0」のビット値が”01”である場合には、チャネル2の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)で変更できる。また、8ビット乱数初期設定2(KRS2)のビット「1−0」のビット値が”10”である場合には、チャネル2の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定2(KRS2)のビット「1−0」のビット値が”11”である場合には、チャネル2の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以後、乱数列が一巡するごとに自動的に乱数列が変更される。
なお、8ビット乱数回路508aに関しては、16ビット乱数回路508bとは異なり、図17に示したようなスタート値の設定を行う機能はない。
プログラム管理エリアに記憶されるセキュリティ時間設定(KSES)は、セキュリティモードを延長する時間の設定を示す。図20は、セキュリティ時間設定(KSES)における設定内容の一例を示す説明図である。
セキュリティ時間設定(KSES)のビット[7−6]は、セキュリティモード時間をランダムに延長する時間の設定のためのビットである。図20に示す例では、セキュリティ時間設定(KSES)のビット[7−6]に”01”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ショートモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜0.816msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜0.51msの範囲の時間がランダムに延長される。また、セキュリティ時間設定(KSES)のビット[7−6]に”10”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ミドルモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜26.112msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜16.32msの範囲の時間がランダムに延長される。また、セキュリティ時間設定(KSES)のビット[7−6]に”11”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ロングモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜835.584msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜522.24msの範囲の時間がランダムに延長される。
なお、セキュリティモード時間のランダム延長を行わないように設定する場合、図20に示すように、セキュリティ時間設定(KSES)のビット[7−6]に”00”を設定するようにすればよい。
セキュリティ時間設定(KSES)のビット[5]は、セキュリティモード時間を固定延長する時間の基準クロック信号の設定のためのビットである。図20に示す例では、セキュリティ時間設定(KSES)のビット[5]に”0”が設定された場合には、基準クロック信号として222×TSCLKが選択される。また、セキュリティ時間設定(KSES)のビット[5]に”1”が設定された場合には、基準クロック信号として224×TSCLKが選択される。
セキュリティ時間設定(KSES)のビット[4−0]は、セキュリティモード時間を固定で延長する時間の設定のためのビットである。具体的には、セキュリティモード時間の固定延長時間は、セキュリティ時間設定(KSES)のビット[5]で選択した基準クロックに、セキュリティ時間設定(KSES)のビット[4−0]で設定した設定値を乗算した値になる。例えば、セキュリティ時間設定(KSES)のビット[4−0]に”00001”を設定(すなわち、値「1」を設定)し、セキュリティ時間設定(KSES)のビット[5]に”0”を設定した場合には、固定延長時間は222×TSCLK×1になり、セキュリティ時間設定(KSES)のビット[5]に”1”を設定した場合には、固定延長時間は224×TSCLK×1になる。
また、セキュリティ時間設定(KSES)のビット[4−0]に”01000”を設定(すなわち、値「8」を設定)し、セキュリティ時間設定(KSES)のビット[5]に”0”を設定した場合には、固定延長時間は222×TSCLK×8になり、セキュリティ時間設定(KSES)のビット[5]に”1”を設定した場合には、固定延長時間は224×TSCLK×8になる。また、セキュリティ時間設定(KSES)のビット[4−0]に”10000”を設定(すなわち、値「16」を設定)し、セキュリティ時間設定(KSES)のビット[5]に”0”を設定した場合には、固定延長時間は222×TSCLK×16になり、セキュリティ時間設定(KSES)のビット[5]に”1”を設定した場合には、固定延長時間は224×TSCLK×16になる。また、セキュリティ時間設定(KSES)のビット[4−0]に”11111”を設定(すなわち、値「31」を設定)し、セキュリティ時間設定(KSES)のビット[5]に”0”を設定した場合には、固定延長時間は222×TSCLK×31になり、セキュリティ時間設定(KSES)のビット[5]に”1”を設定した場合には、固定延長時間は224×TSCLK×31になる。なお、図20には、内部システムクロックが10.0MHzである場合の固定延長時間の値と12.0MHzである場合の固定延長時間の値の具体例も示されている。
なお、セキュリティモード時間の固定延長を行わないように設定する場合、図20に示すように、セキュリティ時間設定(KSES)のビット[4−0]に”00000”を設定するようにすればよい。
図20に示すように、セキュリティモード時間は、セキュリティ時間設定(KSES)のビット[7−6]の設定によるランダム延長と、セキュリティ時間設定(KSES)のビット[5−0]の設定による固定延長との2種類の方法で延長設定が可能である。そして、これら2種類の方法で設定された時間の加算時間が最終的なセキュリティモード時間の延長時間になる。
プログラム管理エリアに記憶される乱数クロック監視設定(KRCS)は、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号の監視周波数の設定を示す。図21は、乱数クロック監視設定(KRCS)における設定内容の一例を示す説明図である。
乱数クロック監視設定(KRCS)のビット[7−2]は、固定ビット(すなわち、特に設定に使用しないビット)であり、全ビットが”0”である。
乱数クロック監視設定(KRCS)のビット[1−0]は、乱数を更新するためのクロックとして、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号を選択した場合に、その入力クロックの周波数異常の検出対象とする周波数の設定のためのビットである。図21に示す例では、乱数クロック監視設定(KRCS)のビット[1−0]に”00”が設定された場合には、監視周波数としてSCLK(内部システムクロック)の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に”01”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/2の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に”10”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/22の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に”11”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/23の周波数未満を設定する。
なお、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号の監視周波数の異常を検出した場合には、内部情報レジスタ(CIF:図22参照)のビット3に”1”がセットされる。
なお、この実施の形態では、遊技制御用マイクロコンピュータ560は、8ビット乱数回路508aと16ビット乱数回路508bとのうち、16ビット乱数回路508bの動作異常(外部クロック周波数異常および更新異常)を検出する機能を備えている。具体的には、遊技制御用マイクロコンピュータ560は、乱数更新用クロックとして乱数用外部クロック端子(RCK端子)から入力された外部クロック信号が選択されている場合に、乱数クロック監視設定(KRCS)で設定されている監視周波数にもとづいて、外部クロック信号の周波数が低下したか否かを検出し、外部クロック信号の周波数が低下(外部クロック周波数異常)を検出した場合には、内部情報レジスタ(CIF)のビット3に”1”をセットする。
また、遊技制御用マイクロコンピュータ560は、16ビット乱数回路508bの乱数の更新状態を監視する機能を備え、更新状態に異常を検出すると(例えば、乱数値が同じ値のまま更新されなくなったり、通常は乱数値が1つずつカウントアップされていくのに乱数値のカウント値がいきなり2以上の値増加した状態を検出したりすると)、内部情報レジスタ(CIF)のビット7〜4のうちの対応するビットに”1”をセットする。
なお、この実施の形態では、乱数クロック監視設定(KRCS)を用いて設定を行うことによって、16ビット乱数回路508bの動作異常の検出に関して、監視対象の外部クロック信号の監視周波数が設定されるが、外部クロック周波数異常の検出自体を行うか否かを設定可能にしたり、更新異常の検出自体を行うか否かを設定可能にしたりしてもよい。その場合、外部クロック周波数異常の検出自体を行うか否かの設定と、更新異常の検出自体を行うか否かの設定とを独立して行えるようにしてもよいし、両方の設定を一括して有効とするか無効とするかのみ行えるようにしてもよい。
また、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かを設定可能とするために、例えば、乱数回路自体を起動するか否かを設定し、乱数回路を起動しないように設定した場合には、事実上、外部クロック周波数異常の検出や更新異常の検出を行えないので、外部クロック周波数異常の検出や更新異常の検出を行わないように設定したことになる。このように、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かの設定は、乱数回路自体を起動するか否かを設定することによって実現することも含む概念である。
また、この実施の形態では、乱数用クロック生成回路112から専用の乱数用クロックRCLKが乱数回路508a,508bに入力されるが、例えば、制御用クロック生成回路111からの制御用クロックCCLKを入力するなど専用の乱数用クロックRCLK以外のクロックを入力する場合であっても、外部クロック周波数異常の検出や更新異常の検出を行うことが可能である。なお、乱数回路の更新異常の検出に関して、乱数用クロック生成回路112から専用の乱数用クロックRCLK用いて乱数更新する場合と、制御用クロック生成回路111からの制御用クロックCCLKなど他のクロックを用いて乱数更新する場合とのいずれか一方の場合のみ設定可能に構成してもよい。
また、この実施の形態では、外部クロック周波数の異常の検出を行い、遊技制御用マイクロコンピュータ560の内部システムクロックSCLKの周波数については特に異常の検出を行っていないが、その理由は以下のとおりである。すなわち、乱数更新に内部システムクロックSCLKを用いる場合には、内部システムクロックSCLKに異常が発生しているような状況では、CPU56自体の動作が停止している筈であるので、CPU56が動作しているのに乱数の更新だけが停止しているような事態が生ずることはなく、何らかの問題が生ずるおそれがないが、乱数更新に外部クロック信号を用いる場合には、CPU56が動作しているのに乱数の更新だけが停止しているような事態が生ずる可能性がある。
図6に示す遊技制御用マイクロコンピュータ560が備える外部バスインタフェース501は、遊技制御用マイクロコンピュータ560を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバスおよび各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース501は、遊技制御用マイクロコンピュータ560に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであればよい。
遊技制御用マイクロコンピュータ560が備えるクロック回路502は、例えば制御用外部クロック端子EXに入力される発振信号を2分周することなどによって、内部システムクロックSCLKを生成する回路である。なお、生成された内部システムクロックは、外部出力端子(CLKO端子)から外部に出力される。
遊技制御用マイクロコンピュータ560が備える照合用ブロック503は、外部の照合機と接続し、チップの照合を行う機能を備える。
遊技制御用マイクロコンピュータ560が備える固有情報記憶回路504は、例えば遊技制御用マイクロコンピュータ560の内部情報である複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路504は、ROMコード、チップ個別ナンバー、IDナンバーといった3種類の固有情報を記憶する。ROM54コードは、ROM54の所定領域における記憶データから生成される4バイトの数値であり、生成方法の異なる4つの数値が準備されればよい。チップ個別ナンバーは、遊技制御用マイクロコンピュータ560の製造時に付与される4バイトの番号であり、遊技制御用マイクロコンピュータ560を構成するチップ毎に異なる数値である。IDナンバーは、遊技制御用マイクロコンピュータ560の製造時に付与される8バイトの番号であり、遊技制御用マイクロコンピュータ560を構成するチップ毎に異なる数値である。チップ個別ナンバーはユーザプログラムから読み取ることができるが、IDナンバーはユーザプログラムから読み取ることができないように設定されていればよい。なお、固有情報記憶回路504は、ROM54に含まれるようにしてもよい。また、固有情報記憶回路504は、CPU56(具体的には、内蔵レジスタ)に含まれるようにしてもよい。
遊技制御用マイクロコンピュータ560が備える演算回路505は、乗算および除算を行う回路である。
遊技制御用マイクロコンピュータ560が備えるリセット/割込みコントローラ506は、遊技制御用マイクロコンピュータ560の内部や外部で発生する各種リセット(具体的には、リセット信号)や割込み要求を制御するための回路である。リセット/割込みコントローラ506が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子XSRSTに一定の期間にわたりローレベル信号が入力されたときに発生するリセットである。なお、この実施の形態では、リセット設定(KRES)の設定によって、ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したときや、指定エリア外走行禁止(IAT)が発生したときにも、システムリセットが発生することがある。ユーザリセットは、ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したことや、指定エリア外走行禁止(IAT)が発生したことなど、所定の要因で発生するリセットである。
リセット/割込みコントローラ506が制御する割込みには、ノンマスカブル割込みNMIとマスカブル割込みINTが含まれている。ノンマスカブル割込みNMIは、CPU56の割込み禁止状態でも無条件に受け付けられる割込みであり、外部ノンマスカブル割込み端子XNMI(入力ポートPI6と兼用)に一定の期間にわたりローレベル信号が入力されたときに発生する割込みである。マスカブル割込みINTは、CPU56の設定命令によって、割込み要求の受け付けを許可/禁止できる割込みであり、優先順位設定による多重割込みの実行が可能である。マスカブル割込みINTの要因としては、外部マスカブル割込み端子XINT(入力ポートPI5と兼用)に一定の期間にわたりローレベル信号が入力されたこと、タイマ回路509によってタイムアウトが発生したこと、シリアル通信回路512がデータ受信またはデータ送信による割込み要因を発生したこと、乱数回路508a,508bが乱数値になる数値データの取込に関する割込み要因を発生したことなど、複数種類の割込み要因があらかじめ定められていればよい。
リセット/割込みコントローラ506は、図9〜図11に示すような遊技制御用マイクロコンピュータ560が備える内蔵レジスタのうち、内部情報レジスタCIF(アドレスFE25H)などを用いて、割込みの制御やリセットの管理を行う。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数更新状態、乱数更新クロックを外部クロックとした場合の入力周波数の状態を読み取るためのレジスタである。
図22(A)は、内部情報レジスタCIFの構成例を示す説明図である。図22(B)は、内部情報レジスタCIFに設定される内部情報データの各ビットにおける設定内容の一例を示す説明図である。内部情報レジスタCIFのビット番号[7]に設定される内部情報データRL3ERは、チャネル3の16ビット乱数回路508bが更新する16ビット乱数RL3の更新状態の異常を示す。図22(B)に示す例では、16ビット乱数RL3の更新異常が検知されないときに、内部情報データRL3ERのビット値が“0”になるが、16ビット乱数RL3の更新異常が検知されたときには、そのビット値が“1”になる。内部情報レジスタCIFのビット番号[6]のビット(以下、単に、「ビット番号[6]」のように表現する。)に設定される内部情報データRL2ERは、チャネル2の16ビット乱数回路508bが更新する16ビット乱数RL2の更新状態の異常を示す。図22(B)に示す例では、16ビット乱数RL2の更新異常が検知されないときに、内部情報データRL2ERのビット値が“0”になるが、16ビット乱数RL2の更新異常が検知されたときには、そのビット値が“1”になる。内部情報レジスタCIFのビット番号[5]に設定される内部情報データRL1ERは、チャネル1の16ビット乱数回路508bが更新する16ビット乱数RL1の更新状態の異常を示す。図22(B)に示す例では、16ビット乱数RL1の更新異常が検知されないときに、内部情報データRL1ERのビット値が“0”になるが、16ビット乱数RL1の更新異常が検知されたときには、そのビット値が“1”になる。内部情報レジスタCIFのビット番号[4]に設定される内部情報データRL0ERは、チャネル0の16ビット乱数回路508bが更新する16ビット乱数RL0の更新状態の異常を示す。図22(B)に示す例では、16ビット乱数RL0の更新異常が検知されないときに、内部情報データRL0ERのビット値が“0”になるが、16ビット乱数RL0の更新異常が検知されたときには、そのビット値が“1”になる。なお、内部情報レジスタCIFのビット番号[7−4」には、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[3]に設定される内部情報データRCERは、乱数更新用クロックとして乱数用外部クロック端子(RCK端子)から入力された外部クロック信号が選択されている場合に、その外部クロック信号の周波数異常を示す。図22(B)に示す例では、外部クロック信号の周波数異常が検知されないときに、内部情報データRCERのビット値が“0”になるが、外部クロック信号の周波数異常が検知されたときには、そのビット値が“1”になる。なお、内部情報レジスタCIFのビット番号[3」には、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[2]に設定される内部情報データSRSFは、直前に発生したリセット要因がシステムリセットであることを示す。図22(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データSRSFのビット値が“0”になるが、システムリセットであるときには(システムリセット発生)、そのビット値が“1”になる。なお、内部情報レジスタCIFのビット番号[2」には、初期値として”1”が設定されている。
内部情報レジスタCIFのビット番号[1]に設定される内部情報データWDTFは、直前に発生したリセット要因がウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したことによるユーザリセットであることを示す。図22(B)に示す例では、直前のリセット要因がタイムアウト信号によるユーザリセットではないときに(タイムアウト信号によるユーザリセット未発生)、内部情報データWDTFのビット値が“0”になるが、タイムアウト信号によるユーザリセットであるときには(タイムアウト信号によるユーザリセット発生)、そのビット値が“1”になる。なお、内部情報レジスタCIFのビット番号[1」には、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[0]に設定される内部情報データIATFは、直前に発生したリセット要因がIAT回路506aからのIAT発生信号を入力したことによるユーザリセットであることを示す。図22(B)に示す例では、直前のリセット要因がIAT発生信号によるユーザリセットではないときに(IAT発生信号によるユーザリセット未発生)、内部情報データIATFのビット値が“0”になるが、IAT発生信号によるユーザリセットであるときには(IAT発生信号によるユーザリセット発生)、そのビット値が“1”になる。なお、内部情報レジスタCIFのビット番号[0」には、初期値として”0”が設定されている。
遊技制御用マイクロコンピュータ560が備えるCPU56は、ROM54から読み出した制御コードにもとづいてユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を実行することによって、パチンコ遊技機1における遊技制御を実行する制御用CPUである。遊技制御が実行されるときには、CPU56がROM54から固定データを読み出す固定データ読出動作や、CPU56がRAM55に各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU56がRAM55に一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU56が外部バスインタフェース501やパラレル入力ポート511、シリアル通信回路512などを介して遊技制御用マイクロコンピュータ560の外部から各種信号の入力を受け付ける受信動作、CPU56が外部バスインタフェース501やシリアル通信回路512、パラレル出力ポート513などを介して遊技制御用マイクロコンピュータ560の外部へと各種信号を出力する送信動作等も行われる。
遊技制御用マイクロコンピュータ560が備えるROM54には、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。
遊技制御用マイクロコンピュータ560が備えるRAM55は、ゲーム制御用のワークエリアを提供する。ここで、RAM55の少なくとも一部は、電源基板910において作成されるバックアップ電源によってバックアップされているバックアップRAMであればよい。すなわち、パチンコ遊技機1への電力供給が停止しても、所定期間はRAM55の少なくとも一部の内容が保存される。
また、遊技制御用マイクロコンピュータ560は、フリーランカウンタ回路507として、8ビットのフリーランカウンタを4チャネル搭載している。
遊技制御用マイクロコンピュータ560が備える乱数回路508a,508bは、所定の更新範囲を有する乱数値(8ビット乱数や16ビット乱数)として使用される数値データを生成する回路である。この実施の形態では、乱数回路508a,508bのうち16ビット乱数回路508bが生成するハードウェア乱数は、大当りとするか否かを判定するための大当り判定用乱数(ランダムR)として用いられる。なお、CPU56は、乱数回路508a,508bから抽出した数値データにもとづき、乱数回路508a,508bとは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工したり更新することによって、遊技に用いられる乱数値の全部または一部を示す数値データをカウントするようにしてもよい。CPU56は、乱数回路508a,508bを用いることなく、ソフトウェアによって大当り判定用乱数などの乱数値を示す数値データの一部をカウント(更新)するようにしてもよい。一例として、CPU56は、乱数回路508a,508bから抽出した数値データを、ソフトウェアで加工することによって、大当り判定用乱数(ランダムR)を示す数値データを更新し、それ以外の乱数値(例えば、大当り種別判定用乱数や、変動パターン種別決定用乱数、変動パターン決定用乱数)を示す数値データをソフトウェアで更新すればよい。
図23は、8ビット乱数回路508aの一構成例を示すブロック図である。また、図24は、16ビット乱数回路508bの一構成例を示すブロック図である。8ビット乱数回路508aおよび16ビット乱数回路508bは、図23および図24に示すように、乱数列変更選択回路523a,523b、乱数生成回路525a,525b、乱数列変更回路526a,526b、および最大値比較回路527a,527bを備えて構成される。また、16ビット乱数回路508bは、図24に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数スタート値選択回路535を備える。さらに、16ビット乱数回路508bは、図24に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数生成回路525bが更新監視回路537を含む。
また、図24に示す例では、16ビット乱数回路508bの回路部分の構成のみを示し、乱数列変更レジスタ522および最大値設定レジスタ524b以外の16ビット乱数回路508bが用いる各レジスタについては記載を省略している。なお、具体的には、16ビット乱数回路508bは、図23に示すRSハードラッチ選択レジスタ528a,528bに代えて図9に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ(RL3LS)を用い、図23に示すRS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dに代えて図10および図11に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)を用い、図23に示すRSハードラッチフラグレジスタ530に代えて図10に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)を用い、図23に示すRS割り込み制御レジスタ531に代えて図9に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)を用い、図23に示すRS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dに代えて図10に示すRL0ソフトラッチ乱数値レジスタ(RL0SV)〜RL3ソフトラッチ乱数値レジスタ(RL3SV)を用いる。また、16ビット乱数回路508bは、乱数値ソフトラッチレジスタ532および乱数ソフトラッチフラグレジスタ534については、8ビット乱数回路508aと兼用で同じレジスタを用いる。
また、8ビット乱数回路508aは、既に説明したプログラム管理エリアに設けられた8ビット乱数初期設定521a(図8に示す8ビット乱数初期設定1(KRS1)および8ビット乱数初期設定2(KRS2))の設定内容に従って動作する。
また、16ビット乱数回路508bは、既に説明したプログラム管理エリアに設けられた16ビット乱数初期設定521b(図8に示す16ビット乱数初期設定1(KRL1)〜16ビット乱数初期設定2(KRL2))の設定内容に従って動作する。また、16ビット乱数回路508bは、8ビット乱数回路508aの機能に加えて、乱数スタート値選択回路535が16ビット乱数初期設定536(図8に示す16ビット乱数初期設定3(KRL3))の設定内容に従って動作することによって、1周目の乱数値のスタート値を変更する機能を備えている(図17参照)。
また、16ビット乱数回路508bは、乱数生成回路525bが更新監視回路537を含んでおり、8ビット乱数回路508aの機能に加えて、更新監視回路537が動作することによって外部クロック周波数異常および更新異常を検出する機能を備えている(図21参照)。なお、この実施の形態では、1つの更新監視回路537によって外部クロック周波数異常および更新異常が検出されるが、外部クロック周波数異常を検出する監視回路と更新異常を検出する監視回路とが別々に設けられていてもよい。
なお、8ビット乱数回路508aも更新監視回路を備えるように構成し、8ビット乱数回路508aの外部クロック周波数異常および更新異常を検出することが可能になるようにしてもよい。
また、乱数列変更レジスタ522は、図9に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれる乱数列変更レジスタRDSCに対応している。なお、乱数列変更レジスタRDSCとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、最大値設定レジスタ524a,524bは、図9に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRS0最大値設定レジスタ(RS0MX)〜RS3最大値設定レジスタ(RS3MX)に対応している(16ビット乱数回路508bの場合は、RL0最大値設定レジスタ(RL0MX)〜RL3最大値設定レジスタ(RL3MX)に対応している)。
また、ハードラッチ選択レジスタ528aは、図9に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRSハードラッチ選択レジスタ0(RSLS0)に対応している。また、ハードラッチ選択レジスタ528bは、図9に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRSハードラッチ選択レジスタ1(RSLS1)に対応している。なお、16ビット乱数回路508bの場合は、図9に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ3(RL3LS)に対応している。
また、RS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dは、図11に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRS0ハードラッチ乱数値レジスタ(RS0HV)〜RS3ハードラッチ乱数値レジスタ(RS3HV)に対応している。なお、16ビット乱数回路508bの場合は、図10に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL1ハードラッチ乱数値レジスタ1(RL1HV1)および図11に示すRL2ハードラッチ乱数値レジスタ0(RL2HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)に対応している。
また、RSハードラッチフラグレジスタ530は、図10に示すRSハードラッチフラグレジスタ(RSHF)に対応している。なお、16ビット乱数回路508bの場合は、図10に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)に対応している。
また、RS割り込み制御レジスタ531は、図9に示すRS割り込み制御レジスタ(RSIC)に対応している。なお、16ビット乱数回路508bの場合は、図9に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)に対応している。
また、乱数ソフトラッチレジスタ532は、図9に示す乱数ソフトラッチレジスタ(RDSL)に対応している。なお、ソフトラッチレジスタRDSLとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、RS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dは、は、図10に示すRS0ソフトラッチ乱数値レジスタ(RS0SV)〜RS3ソフトラッチ乱数値レジスタ(RS3SV)に対応している。なお、16ビット乱数回路508bの場合は、図10に示すRL0ソフトラッチ乱数値(RL0SV)〜RL3ソフトラッチ乱数値(RL3SV)に対応している。
また、乱数ソフトラッチフラグレジスタ534は、図9に示す乱数ソフトラッチフラグレジスタ(RDSF)に対応している。なお、乱数ソフトラッチフラグレジスタRDSFとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
乱数列変更選択回路523a,523bは、図18や図19に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図15や図16に示す16ビット乱数初期設定1(KRL1)や16ビット乱数初期設定2(KRL2)の設定内容に従って)、乱数列の変更方法として、「変更しない」、「ソフトウェアで変更」、「2周目から自動で変更」または「1周目から自動で変更」のうちのいずれかを選択する。そして、「ソフトウェアで変更」、「2周目から自動で変更」または「1周目から自動で変更」のいずれかに選択した場合には、その選択方法に従って乱数列変更回路526a,526bに乱数列を変更させる。また、「変更しない」を選択した場合には乱数列を変更させる制御を行わない。
乱数列変更回路526a,526bは、乱数生成回路525a,525bが生成した数値データの順列を、乱数列変更選択回路523a,523bの指示に従って変更可能とする回路である。例えば、乱数列変更回路526a,526bは、「ソフトウェアで変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列をソフトウェア(ユーザプログラム)で変更する。また、例えば、乱数列変更回路526a,526bは、「2周目から自動で変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列を2周目から自動的に変更し、以後、乱数列が一巡するごとに自動的に乱数列を変更する。また、例えば、乱数列変更回路526a,526bは、「1周目から自動で変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列を1周目から自動的に変更し、以後、乱数列が一巡するごとに自動的に乱数列を変更する。
乱数生成回路525a,525bは、例えば8ビットのカウンタ(16ビット乱数回路508bの場合は16ビットのカウンタ)などから構成され、乱数更新クロック信号などの入力にもとづき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路525a,525bは、乱数更新クロック信号における立ち下がりエッジに応答して、「0」から「255」までの範囲内で設定された初期値から「255」まで1ずつ加算するように数値データをカウントアップして行く(16ビット乱数回路508bの場合には、「0」から「65535」までの範囲内で設定された初期値から「65535」まで1ずつ加算するように数値データをカウントアップして行く)。そして、「255」までカウントアップした後には、「0」から初期値よりも1小さい最終値まで1ずつ加算することによって、数値データを循環的に更新する。
最大値比較回路527a,527bは、図18や図19に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図15や図16に示す16ビット乱数初期設定1(KRL1)や16ビット乱数初期設定2(KRL2)の設定内容に従って)、乱数生成回路525a,525bが生成する乱数値の最大値を設定する。
図25(A)は、RL0ハードラッチ選択レジスタ0(RL0LS0)の構成例を示す説明図である。図25(B)は、RL0ハードラッチ選択レジスタ0(RL0LS0)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[7]に設定されるデータRL01RFは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、外部端子入力で、16ビット乱数RL0の値を取り込む際の条件の設定を示す。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL01RFのビット値が“0”になり、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRL01RFには、初期値として”0”が設定されている。
なお、この実施の形態では、プログラム管理エリアや内蔵レジスタのレジスタに関して、具体的には、プログラム管理エリアなどの対応するビットを”0”または”1”のいずれかの値としておくことによって、その対応するビットの値が読み込まれて、読み込まれた”0”または”1”の値が遊技制御用マイクロコンピュータ560の制御レジスタにハードウェア的に書き込まれることによって各種の設定が行われる。例えば、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット7については、そのビット7から読み込まれた値が”0”である場合には、遊技制御用マイクロコンピュータ560の制御レジスタにハードウェア的に”0”が書き込まれることによってRL0ハードラッチ乱数値レジスタ1(RL0HV1)から値を読み込まないと次の値をラッチしないように設定され、そのビット7から読み込まれた値が”1”である場合には、遊技制御用マイクロコンピュータ560の制御レジスタにハードウェア的に”1”が書き込まれることによってRL0ハードラッチ乱数値レジスタ1(RL0HV1)から値を読み込まなくても次の値をラッチするように設定される。このことは、他のプログラム管理エリアの各設定項目や内蔵レジスタの各レジスタの各ビットに関しても同様である。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に設定されるデータRL01LS0〜RL01LS2は、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、どの外部端子入力で、16ビット乱数RL0の値を取り込むかの設定を示す。図25(B)に示す例では、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に”110”や”111”が設定された場合には、その設定は無効である。また、データRL01LS0〜RL01LS2には、初期値として”000”が設定されている。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[3]に設定されるデータRL00RFは、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、外部端子入力で、16ビット乱数RL0の値を取り込む際の条件の設定を示す。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL00RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRL00RFには、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に設定されるデータRL00LS0〜RL00LS2は、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、どの外部端子入力で、16ビット乱数RL0の値を取り込むかの設定を示す。図25(B)に示す例では、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に”110”や”111”が設定された場合には、その設定は無効である。また、データRL00LS0〜RL00LS2には、初期値として”000”が設定されている。
図26(A)は、RL0ハードラッチ選択レジスタ1(RL0LS1)の構成例を示す説明図である。図26(B)は、RL0ハードラッチ選択レジスタ1(RL0LS1)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[7]に設定されるデータRL03RFは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、外部端子入力で、16ビット乱数RL0の値を取り込む際の条件の設定を示す。図26(B)に示す例では、値が読み込まれないと次の値をラッチしないように設定した場合には、データRL03RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRL03RFには、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に設定されるデータRL03LS0〜RL03LS2は、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、どの外部端子入力で、16ビット乱数RL0の値を取り込むかの設定を示す。図26(B)に示す例では、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に”110”や”111”が設定された場合には、その設定は無効である。また、データRL03LS0〜RL03LS2には、初期値として”000”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[3]に設定されるデータRL02RFは、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、外部端子入力で、16ビット乱数RL0の値を取り込む際の条件の設定を示す。図26(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL02RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRL02RFには、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に設定されるデータRL02LS0〜RL02LS2は、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、どの外部端子入力で、16ビット乱数RL0の値を取り込むかの設定を示す。図26(B)に示す例では、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に”110”や”111”が設定された場合には、その設定は無効である。また、データRL02LS0〜RL02LS2には、初期値として”000”が設定されている。
図27(A)は、RLnハードラッチ選択レジスタ(RLnLS)の構成例を示す説明図である。図27(B)は、RLnハードラッチ選択レジスタ(RLnLS)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図27において、nは0〜3の値をとる。RLnハードラッチ選択レジスタ(RLnLS)のビット番号[7]に設定されるデータRLn1RFは、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、外部端子入力で、16ビット乱数RLnの値を取り込む際の条件の設定を示す。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn1RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRLn1RFには、初期値として”0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に設定されるデータRLn1LS0〜RLn1LS2は、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、どの外部端子入力で、16ビット乱数RLnの値を取り込むかの設定を示す。図27(B)に示す例では、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に”110”や”111”が設定された場合には、その設定は無効である。また、データRLn1LS0〜RLn1LS2には、初期値として”000”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[3]に設定されるデータRLn0RFは、RLnハードラッチ乱数値レジスタ0(RLnHV0)に、外部端子入力で、16ビット乱数RLnの値を取り込む際の条件の設定を示す。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn0RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRLn0RFには、初期値として”0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に設定されるデータRLn0LS0〜RLn0LS2は、RLnハードラッチ乱数値レジスタ0(RLnHV0)に、どの外部端子入力で、16ビット乱数RLnの値を取り込むかの設定を示す。図27(B)に示す例では、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に”110”や”111”が設定された場合には、その設定は無効である。また、データRLn0LS0〜RLn0LS2には、初期値として”000”が設定されている。
図28(A)は、RSハードラッチ選択レジスタ0(RSLS0)の構成例を示す説明図である。図28(B)は、RSハードラッチ選択レジスタ0(RSLS0)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。RSハードラッチ選択レジスタ0(RSLS0)のビット番号[7]に設定されるデータRS1RFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、外部端子入力で、8ビット乱数RS1の値を取り込む際の条件の設定を示す。図28(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS1RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRS1RFには、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に設定されるデータRS1LS0〜RS1LS2は、RS1ハードラッチ乱数値レジスタ(RS1HV)に、どの外部端子入力で、8ビット乱数RS1の値を取り込むかの設定を示す。図28(B)に示す例では、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に”110”や”111”が設定された場合には、その設定は無効である。また、データRS1LS0〜RS1LS2には、初期値として”000”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[3]に設定されるデータRS0RFは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、外部端子入力で、8ビット乱数RS0の値を取り込む際の条件の設定を示す。図28(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS0RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRS0RFには、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に設定されるデータRS0LS0〜RS0LS2は、RS0ハードラッチ乱数値レジスタ(RS0HV)に、どの外部端子入力で、8ビット乱数RS0の値を取り込むかの設定を示す。図28(B)に示す例では、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に”110”や”111”が設定された場合には、その設定は無効である。また、データRS0LS0〜RS0LS2には、初期値として”000”が設定されている。
図29(A)は、RSハードラッチ選択レジスタ1(RSLS1)の構成例を示す説明図である。図29(B)は、RSハードラッチ選択レジスタ1(RSLS1)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。RSハードラッチ選択レジスタ1(RSLS1)のビット番号[7]に設定されるデータRS3RFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、外部端子入力で、8ビット乱数RS3の値を取り込む際の条件の設定を示す。図29(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS3RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRS3RFには、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[6−4]に設定されるデータRS3LS0〜RS3LS2は、RS3ハードラッチ乱数値レジスタ(RS3HV)に、どの外部端子入力で、8ビット乱数RS3の値を取り込むかの設定を示す。図29(B)に示す例では、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[6−4]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RSハードラッチ選択レジスタ0(RSLS1)のビット番号[6−4]に”110”や”111”が設定された場合には、その設定は無効である。また、データRS3LS0〜RS3LS2には、初期値として”000”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[3]に設定されるデータRS2RFは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、外部端子入力で、8ビット乱数RS2の値を取り込む際の条件の設定を示す。図29(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS2RFのビット値が“0”になるが、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”になる。なお、データRS2RFには、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に設定されるデータRS2LS0〜RS2LS2は、RS2ハードラッチ乱数値レジスタ(RS2HV)に、どの外部端子入力で、8ビット乱数RS2の値を取り込むかの設定を示す。図29(B)に示す例では、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に”000”が設定された場合にはPI0端子が選択され、”001”が設定された場合にはPI1端子が選択され、”010”が設定された場合にはPI2端子が選択され、”011”が設定された場合にはPI3端子が選択され、”100”が設定された場合にはPI4端子が選択され、”101”が設定された場合にはPI5/XINT端子が選択される。なお、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に”110”や”111”が設定された場合には、その設定は無効である。また、データRS2LS0〜RS2LS2には、初期値として”000”が設定されている。
図30(A)は、RL割り込み制御レジスタ0(RLIC0)の構成例を示す説明図である。図30(B)は、RL割り込み制御レジスタ0(RLIC0)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、RL割り込み制御レジスタ0(RLIC0)のビット[7−6]のビット値は必ず”0”に設定される。
RL割り込み制御レジスタ0(RLIC0)のビット番号[5]に設定されるデータRL11IEは、RL1ハードラッチ乱数値レジスタ1(RL1HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL11IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL11IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[4]に設定されるデータRL10IEは、RL1ハードラッチ乱数値レジスタ0(RL1HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL10IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL10IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[3]に設定されるデータRL03IEは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL03IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL03IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[2]に設定されるデータRL02IEは、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL02IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL02IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に設定されるデータRL01IEは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL01IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL01IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に設定されるデータRL00IEは、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL00IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL00IEには、初期値として”0”が設定されている。
図31(A)は、RL割り込み制御レジスタ1(RLIC1)の構成例を示す説明図である。図31(B)は、RL割り込み制御レジスタ1(RLIC1)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、RL割り込み制御レジスタ1(RLIC1)のビット[7−6]およびビット[3−2]のビット値は必ず”0”とされる。
RL割り込み制御レジスタ1(RLIC1)のビット番号[5]に設定されるデータRL31IEは、RL3ハードラッチ乱数値レジスタ1(RL3HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図31(B)に示す例では、割り込み禁止に設定した場合には、データRL31IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL31IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[4]に設定されるデータRL30IEは、RL3ハードラッチ乱数値レジスタ0(RL3HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図31(B)に示す例では、割り込み禁止に設定した場合には、データRL30IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL30IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[1]に設定されるデータRL21IEは、RL2ハードラッチ乱数値レジスタ1(RL2HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図31(B)に示す例では、割り込み禁止に設定した場合には、データRL21IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL21IEには、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[0]に設定されるデータRL20IEは、RL2ハードラッチ乱数値レジスタ0(RL2HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図31(B)に示す例では、割り込み禁止に設定した場合には、データRL20IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRL20IEには、初期値として”0”が設定されている。
図32(A)は、RS割り込み制御レジスタ(RSIC)の構成例示す説明図である。図32(B)は、RS割り込み制御レジスタ(RSIC)に設定されるデータの各ビットにおける設定内容の一例示す説明図である。なお、RS割り込み制御レジスタ(RSIC)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RS割り込み制御レジスタ(RSIC)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示す。
RS割り込み制御レジスタ(RSIC)のビット番号[3]に設定されるデータRS3IEは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図32(B)に示す例では、割り込み禁止に設定した場合には、データRS3IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRS3IEには、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[2]に設定されるデータRS2IEは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図32(B)に示す例では、割り込み禁止に設定した場合には、データRS2IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRS2IEには、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[1]に設定されるデータRS1IEは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図32(B)に示す例では、割り込み禁止に設定した場合には、データRS1IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRS1IEには、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[0]に設定されるデータRS0IEは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示す。図32(B)に示す例では、割り込み禁止に設定した場合には、データRS0IEのビット値が“0”になるが、割り込み許可に設定した場合には、そのビット値が“1”になる。なお、データRS0IEには、初期値として”0”が設定されている。
図33(A)は、RLn最大値設定レジスタ(RLnMX)の構成例を示す説明図である。図33(B)は、RLn最大値設定レジスタ(RLnMX)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図33において、nは0〜3の値をとる。図33(B)に示すように、RLn最大値設定レジスタ(RLnMX)のビット番号[15−0]に設定されるデータRLnMX15〜RLnMX0は、16ビット乱数RLnの最大値が設定される。
図34(A)は、RSn最大値設定レジスタ(RSnMX)の構成例を示す説明図である。図34(B)は、RSn最大値設定レジスタ(RSnMX)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図34において、nは0〜3の値をとる。図34(B)に示すように、RSn最大値設定レジスタ(RSnMX)のビット番号[7−0]に設定されるデータRSnMX7〜RSnMX0は、8ビット乱数RSnの最大値が設定される。
図35(A)は、乱数列変更レジスタ(RDSC)の構成例を示す説明図である。図35(B)は、乱数列変更レジスタ(RDSC)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。乱数列変更レジスタ(RDSC)のビット番号[7]に設定されるデータRS3SCは、8ビット乱数RS3の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRS3SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS3SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[6]に設定されるデータRS2SCは、8ビット乱数RS2の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRS2SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS2SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[5]に設定されるデータRS1SCは、8ビット乱数RS1の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRS1SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS1SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[4]に設定されるデータRS0SCは、8ビット乱数RS0の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRS0SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS0SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[3]に設定されるデータRL3SCは、16ビット乱数RL3の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRL3SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL3SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[2]に設定されるデータRL2SCは、16ビット乱数RL2の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRL2SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL2SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[1]に設定されるデータRL1SCは、16ビット乱数RL1の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRL1SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL1SCには、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[0]に設定されるデータRL0SCは、16ビット乱数RL0の乱数列変更要求ビットを示す。図35(B)に示す例では、乱数列を変更しないに設定した場合には、データRL0SCのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL0SCには、初期値として”0”が設定されている。
図36(A)は、乱数ソフトラッチレジスタ(RDSL)の構成例を示す説明図である。図36(B)は、乱数ソフトラッチレジスタ(RDSL)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。乱数ソフトラッチレジスタ(RDSL)のビット番号[7]に設定されるデータRS3SLは、8ビット乱数RS3の乱数値を、RS3ソフトラッチ乱数値レジスタ(RS3SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS3SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS3SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[6]に設定されるデータRS2SLは、8ビット乱数RS2の乱数値を、RS2ソフトラッチ乱数値レジスタ(RS2SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS2SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS2SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[5]に設定されるデータRS1SLは、8ビット乱数RS1の乱数値を、RS1ソフトラッチ乱数値レジスタ(RS1SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS1SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS1SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[4]に設定されるデータRS0SLは、8ビット乱数RS0の乱数値を、RS0ソフトラッチ乱数値レジスタ(RS0SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS0SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRS0SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[3]に設定されるデータRL3SLは、16ビット乱数RL3の乱数値を、RL3ソフトラッチ乱数値レジスタ(RL3SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL3SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL3SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[2]に設定されるデータRL2SLは、16ビット乱数RL2の乱数値を、RL2ソフトラッチ乱数値レジスタ(RL2SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL2SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL2SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[1]に設定されるデータRL1SLは、16ビット乱数RL1の乱数値を、RL1ソフトラッチ乱数値レジスタ(RL1SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL1SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL1SLには、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[0]に設定されるデータRL0SLは、16ビット乱数RL0の乱数値を、RL0ソフトラッチ乱数値レジスタ(RL0SV)に取り込むためのビットを示す。図36(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL0SLのビット値が“0”になるが、乱数列を変更するに設定した場合には、そのビット値が“1”になる。なお、データRL0SLには、初期値として”0”が設定されている。
図37(A)は、乱数ソフトラッチフラグレジスタ(RDSF)の構成例を示す説明図である。図37(B)は、乱数ソフトラッチフラグレジスタ(RDSF)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[7]に設定されるデータRS3SFは、RS3ソフトラッチ乱数値レジスタ(RS3SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRS3SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS3SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[6]に設定されるデータRS2SFは、RS2ソフトラッチ乱数値レジスタ(RS2SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRS2SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS2SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[5]に設定されるデータRS1SFは、RS1ソフトラッチ乱数値レジスタ(RS1SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRS1SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS1SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[4]に設定されるデータRS0SFは、RS0ソフトラッチ乱数値レジスタ(RS0SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRS0SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS0SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[3]に設定されるデータRL3SFは、RL3ソフトラッチ乱数値レジスタ(RL3SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRL3SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL3SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[2]に設定されるデータRL2SFは、RL2ソフトラッチ乱数値レジスタ(RL2SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRL2SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL2SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[1]に設定されるデータRL1SFは、RL1ソフトラッチ乱数値レジスタ(RL1SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRL1SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL1SFには、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[0]に設定されるデータRL0SFは、RL0ソフトラッチ乱数値レジスタ(RL0SV)に、乱数値が取り込まれたことを示す。図37(B)に示す例では、乱数値が取り込まれていない場合には、データRL0SFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL0SFには、初期値として”0”が設定されている。
図38(A)は、RLnソフトラッチ乱数値レジスタ(RLnSV)の構成例を示す説明図である。図38(B)は、RLnソフトラッチ乱数値レジスタ(RLnSV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図38において、nは0〜3の値をとる。図38(B)に示すように、RLnソフトラッチ乱数値レジスタ(RLnSV)のビット番号[15−0]に設定されるデータRLnSV15〜RLnSV0は、乱数ソフトラッチレジスタ(RDSL)によって取り込まれた16ビット乱数RLnの値が設定される。なお、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに”1”がセットされる。
図39(A)は、RSnソフトラッチ乱数値レジスタ(RSnSV)の構成例を示す説明図である。図39(B)は、RSnソフトラッチ乱数値レジスタ(RSnSV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図39において、nは0〜3の値をとる。図39(B)に示すように、RSnソフトラッチ乱数値レジスタ(RSnSV)のビット番号[7−0]に設定されるデータRSnSV7〜RSnSV0は、乱数ソフトラッチレジスタ(RDSL)によって取り込まれた8ビット乱数RSnの値が設定される。なお、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに”1”がセットされる。
図40(A)は、RLハードラッチフラグレジスタ0(RLHF0)の構成例を示す説明図である。図40(B)は、RLハードラッチフラグレジスタ0(RLHF0)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、RLハードラッチフラグレジスタ0(RLHF0)のビット[7−6]のビット値は必ず”0”とされる。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[5]に設定されるデータRL11HFは、RL1ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL11HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL11HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[4]に設定されるデータRL10HFは、RL1ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL10HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL10HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[3]に設定されるデータRL03HFは、RL0ハードラッチ乱数値レジスタ3に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL03HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL03HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[2]に設定されるデータRL02HFは、RL0ハードラッチ乱数値レジスタ2に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL02HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL02HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[1]に設定されるデータRL01HFは、RL0ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL01HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL01HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[0]に設定されるデータRL00HFは、RL0ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示す。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL00HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL00HFには、初期値として”0”が設定されている。
図41(A)は、RLハードラッチフラグレジスタ1(RLHF1)の構成例を示す説明図である。図41(B)は、RLハードラッチフラグレジスタ1(RLHF1)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、RLハードラッチフラグレジスタ1(RLHF1)のビット[7−6]およびビット[3−2]のビット値は必ず”0”とされる。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[5]に設定されるデータRL31HFは、RL3ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示す。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRL31HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL31HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[4]に設定されるデータRL30HFは、RL3ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示す。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRL30HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL30HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に設定されるデータRL21HFは、RL2ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示す。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRL21HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL21HFには、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に設定されるデータRL20HFは、RL2ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示す。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRL20HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRL20HFには、初期値として”0”が設定されている。
図42(A)は、RSハードラッチフラグレジスタ(RSHF)の構成例を示す説明図である。図42(B)は、RSハードラッチフラグレジスタ(RSHF)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、RSハードラッチフラグレジスタ(RSHF)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RSハードラッチフラグレジスタ(RSHF)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示す。
RSハードラッチフラグレジスタ(RSHF)のビット番号[3]に設定されるデータRS3HFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを示す。図42(B)に示す例では、乱数値が取り込まれていない場合には、データRS3HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS3HFには、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[2]に設定されるデータRS2HFは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを示す。図42(B)に示す例では、乱数値が取り込まれていない場合には、データRS2HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS2HFには、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[1]に設定されるデータRS1HFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを示す。図42(B)に示す例では、乱数値が取り込まれていない場合には、データRS1HFのビット値が“0”になるが、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS1HFには、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[0]に設定されるデータRS0HFは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを示す。図42(B)に示す例では、乱数値が取り込まれていない場合には、データRS0HFのビット値が“0”になり、乱数値を取り込み済みである場合には、そのビット値が“1”になる。なお、データRS0HFには、初期値として”0”が設定されている。
図43(A)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)の構成例を示す説明図である。図43(B)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図43において、mは0〜3の値をとる。図43(B)に示すように、RL0ハードラッチ乱数値レジスタm(RL0mHV)のビット番号[15−0]に設定されるデータRL0mHV15〜RL0mHV0は、外部端子入力によって取り込まれた16ビット乱数RL0の値が設定される。また、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに”1”がセットされる。
図44(A)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)の構成例を示す説明図である。図44(B)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図44において、mは0〜3の値をとる。図44(B)に示すように、RL1ハードラッチ乱数値レジスタm(RL1mHV)のビット番号[15−0]に設定されるデータRL1mHV15〜RL1mHV0は、外部端子入力によって取り込まれた16ビット乱数RL1の値が設定される。また、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに”1”がセットされる。
図45(A)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)の構成例を示す説明図である。図45(B)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図45において、mは0〜3の値をとる。図45(B)に示すように、RL2ハードラッチ乱数値レジスタm(RL2mHV)のビット番号[15−0]に設定されるデータRL2mHV15〜RL2mHV0は、外部端子入力によって取り込まれた16ビット乱数RL2の値が設定される。また、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに”1”がセットされる。
図46(A)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)の構成例を示す説明図である。図46(B)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図46において、mは0〜3の値をとる。図46(B)に示すように、RL3ハードラッチ乱数値レジスタm(RL3mHV)のビット番号[15−0]に設定されるデータRL3mHV15〜RL3mHV0は、外部端子入力によって取り込まれた16ビット乱数RL3の値が設定される。また、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに”1”がセットされる。
図47(A)は、RSnハードラッチ乱数値レジスタ(RSnHV)の構成例を示す説明図である。図47(B)は、RSnハードラッチ乱数値レジスタ(RSnHV)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。なお、図47において、nは0〜3の値をとる。図47(B)に示すように、RSnハードラッチ乱数値レジスタ(RLnHV)のビット番号[7−0]に設定されるデータRSnHV7〜RSnHV0は、外部端子入力によって取り込まれた8ビット乱数RSnの値が設定される。また、乱数値が取り込まれると、RSハードラッチフラグレジスタ(RSHF)の該当するビットに”1”がセットされる。
図48(A)は、WDTスタートレジスタ(WST)の構成例を示す説明図である。図48(B)は、WDTスタートレジスタ(WST)に設定されるデータの各ビットにおける設定内容の一例を示す説明図である。図14に示すように、リセット設定(KRES)のビット番号[6]に”1”が設定されると、ソフトウェアでWTD506bを起動することが可能になるが、そのような設定がなされている状態で、WDTスタートレジスタ(WST)にWDT起動制御コードがソフトウェアによって(具体的には、ソフトウェアに従って動作するCPU56によって)設定されると、WDT506bが起動する。また、そのような設定がなされている状態においてSTD506Bが動作しているときには、ソフトウェアによってWTD506bを停止することができる。
具体的には、例えば、WSTのビット番号[7−0]に”CC(H)”が設定されるとWDT506bが起動し、”33(H)”が設定されるとWDT506bは停止する。
なお、図9に示すWDTクリアレジスタ(WCL)に”55(H)”が設定された後に、”AA(H)”が設定されると、WTD506bはリスタートする。すなわち、カウント動作をリスタートする。
図6に示す遊技制御用マイクロコンピュータ560が備えるタイマ回路509は、8ビットプログラマブルタイマであり、遊技制御用マイクロコンピュータ560は、タイマ回路509として、8ビットのカウンタを3チャネル備える。この実施の形態では、タイマ回路509を用いてユーザプログラムによる設定によって、リアルタイム割り込み要求や時間計測を行うことが可能である。
図6に示す遊技制御用マイクロコンピュータ560が備える割り込みコントローラ510は、PI5/XINT端子からの外部割り込み要求や、内蔵の周辺回路(例えば、シリアル通信回路512、乱数回路508a,508b、タイマ回路509)からの割り込み要求を制御する回路である。
図6に示す遊技制御用マイクロコンピュータ560が備えるパラレル入力ポート511は、8ビット幅の入力専用ポート(PIP)を内蔵する。また、図6に示す遊技制御用マイクロコンピュータ560が備えるパラレル出力ポート513は、11ビット幅の出力専用ポート(POP)を内蔵する。
図6に示す遊技制御用マイクロコンピュータ560が備えるシリアル通信回路512は、外部に対する入出力において非同期シリアル通信を行う回路である。なお、遊技制御用マイクロコンピュータ560は、シリアル通信回路512として、送受信両用の1チャネルの回路と、送信用のみの3チャネルの回路とを備える。なお、例えば、送受信両用の回路については、例えば、双方向の通信が必要になる遊技制御用マイクロコンピュータ560と払出制御基板37が搭載する払出制御用マイクロコンピュータとの間の通信に用いるようにし、送信用のみの回路については、例えば、一方向の通信でよい遊技制御用マイクロコンピュータ560から演出制御用マイクロコンピュータ100に対する通信に用いるようにする。
図6に示す遊技制御用マイクロコンピュータ560が備えるアドレスデコード回路514は、遊技制御用マイクロコンピュータ560の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号によって、遊技制御用マイクロコンピュータ560の内部回路または周辺デバイスを選択する(アクセス可能にする。)。
次に、遊技機の動作を説明する。この実施の形態では、既に説明したように、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときに、ユーザリセットを発生させるかシステムリセットを発生させるかを可能である(図14参照)。図49は、リセット設定(KRES)での設定内容によるリセット動作の違いを説明するための説明図である。
まず、図49(A)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにシステムリセットを発生させるように設定した場合について説明する。
図49(A)に示すように、遊技機に対して電源が投入され電力供給が開始されると、遊技制御用マイクロコンピュータ560は、CPUコアを含む全ての内部回路を初期化し、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定などの遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1001)。具体的には、プログラム管理エリアの図14に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図15〜図19に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。なお、図49(A)に示す例では、遊技制御用マイクロコンピュータ560は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてシステムリセットを設定する。なお、プログラム管理エリアの設定内容はあらかじめ遊技機の製作時に遊技機製造メーカ(ユーザ)によって設定されている。
遊技制御用マイクロコンピュータ560の各種設定が完了すると、遊技制御用マイクロコンピュータ560は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1002)。ステップS1002で実行するセキュリティチェックでは、ユーザプログラムの認証を行われる。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否かの計算が行われる。認証コードが正しければ、ステップS1003に移行し、認証コードが正しくなければ、CPU56を停止する。
なお、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図20に示すセキュリティ時間設定(KSES)の設定内容に従って決まる。具体的には、プログラム管理エリアの図20に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1001の設定が行われることによってセキュリティモード時間が設定される。なお、認証コードは、例えば、遊技機の製作時における内蔵ROM54への書き込み時に遊技機製造メーカ(ユーザ)によってユーザプログラムとともに書き込まれている。
セキュリティチェックが終了すると、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、CPU56が、図51に示すメイン処理の実行を開始する。
次に、ユーザプログラムが実行されているときに(具体的には、図51に示すメイン処理内のループ処理や図52に示すタイマ割込処理の実行中に)、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生した場合について説明する。図49(A)に示す例では、ステップS1001で内部リセット動作の設定としてシステムリセットが設定されている。よって、タイムアウト信号やIAT信号の発生にもとづいてシステムリセットが発生する。
そして、ステップS1001の処理と同様に、遊技制御用マイクロコンピュータ560は、CPUコアを含む全ての内部回路を初期化し、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定などの遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1005)。遊技制御用マイクロコンピュータ560の各種設定が完了すると、ステップS1002の場合と同様に、遊技制御用マイクロコンピュータ560は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1006)。
セキュリティチェックが終了すると、ステップS1003の場合と同様に、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。
以後、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1004〜S1007の動作が実行される。なお、図49(A)において、ステップS1001,S1002の具体的な処理内容とステップS1005,S1006の具体的な処理内容とは同じである。
次に、図49(B)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにユーザリセットを発生させるように設定した場合について説明する。
図49(B)に示すように、遊技機に対して電源が投入され電力供給が開始されると、遊技制御用マイクロコンピュータ560は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定など遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1011)。具体的には、プログラム管理エリアの図14に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図15〜図19に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。なお、図49(B)に示す例では、遊技制御用マイクロコンピュータ560は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてユーザリセットを設定する。また、プログラム管理エリアの設定内容はあらかじめ遊技機の製作時に遊技機製造メーカ(ユーザ)によって設定されている。
遊技制御用マイクロコンピュータ560の各種設定を完了すると、遊技制御用マイクロコンピュータ560は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1012)。ステップS1012で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップS1013に移行し、認証コードが正しくなければ、CPU56を停止する。なお、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図20に示すセキュリティ時間設定(KSES)の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図20に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1011の設定が行われることによってセキュリティモード時間が設定される。なお、認証コードは、あらかじめ遊技機の製作時の内蔵ROM54への書き込み時に遊技機製造メーカ(ユーザ)によってユーザプログラムとともに書き込まれている。
そして、セキュリティチェックを終了すると、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、図51に示すメイン処理の実行を開始する。
次いで、ユーザプログラムが実行されているときに(具体的には、図51に示すメイン処理内のループ処理や図52に示すタイマ割込処理の実行中に)、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生した場合について説明する。図49(B)に示す例では、ステップS1011で内部リセット動作の設定としてユーザリセットが設定されていることから、タイムアウト信号やIAT信号の発生にもとづいてユーザリセットが発生する。
ユーザリセットが発生した場合には、ステップS1011の遊技制御用マイクロコンピュータ560の各種設定やステップS1012のセキュリティチェックは実行されず、遊技制御用マイクロコンピュータ560の内部回路のうち、CPUコア、タイマ回路509、フリーランカウンタ回路507、演算回路505、パラレル入力ポート511、パラレル出力ポート513、シリアル通信回路512、および割り込みコントローラ510などを初期化する。そして、ユーザプログラムの先頭のアドレスに戻り、ユーザプログラムの実行が先頭のアドレスから再び開始される(ステップS1015)。具体的には、図51に示すメイン処理の実行を再び開始する。
以後、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1014〜S1015の動作が実行される。
なお、この実施の形態では、遊技制御用マイクロコンピュータ560は、ユーザプログラムの実行中に内蔵RAM領域に格納されているデータを読み出す場合、そのデータが格納されている内蔵RAM領域の上位および下位全てのアドレスを指定するのではなく、アドレスの下位のみを指定してデータを読み出すことが可能である。図50は、内蔵RAM領域に格納されているデータの読み出し方の例を示す説明図である。この実施の形態では、ユーザプログラムで参照されるデータは、内蔵RAM領域のうちのF000H〜F0FFH領域に格納され、データ格納領域のアドレスの上位はF0Hである。また、遊技制御用マイクロコンピュータ560は、データ格納領域の上位アドレスを固定値として設定するための専用のレジスタ(Qレジスタ)を備え、Qレジスタには固定値F0Hが設定される。
図50に示す例では、内蔵RAM領域のアドレスF020Hに格納されているデータを読み出す場合が示されている。CPU56は、Qレジスタを用いてデータを読み出すためのコマンドLDQを用いて、下位アドレス20Hのみを指定して、データの読み出し動作を行う(具体的には、LDQ A,(20H)を実行する)。すると、CPU56は、データ格納領域の上位アドレスをQレジスタに設定されている固定値からF0Hと特定するとともに、LDQ命令で指定された下位アドレス20Hを特定し、上位および下位を合わせたデータ格納領域のアドレスがF020Hであると特定する。そして、CPU56は、特定したF020Hに対応するデータ格納領域に格納されているデータaを読み出し、レジスタAに格納する。
なお、Qレジスタの値は、システムリセット時にハードウェア的に初期化され、初期値F0Hに自動設定される。例えば、遊技機に対して電源が投入され電力供給が開始されたときに、Qレジスタの下位4ビットは0に初期化され、上位4ビットは反転回路で反転されて全て値1になることによって、Qレジスタの初期値としてF0Hが自動設定される。また、後述するように、この実施の形態では、ユーザプログラムの実行が開始されたときにも、ユーザプログラムでQレジスタに初期値F0Hを設定する処理が実行される(図51におけるステップS5A参照)。
また、Qレジスタの初期値は、遊技機に対して電源が投入され電力供給が開始されたときに行われるハードウェア的な自動設定で設定されてもよいし、ユーザプログラムの開始時に実行されるユーザプログラムによって設定されてもよい。
次に、システムチェックを実行した後、ユーザモードに移行した後にユーザプログラムに従って実行される処理を説明する。ユーザモードに移行すると、遊技制御用マイクロコンピュータ560(具体的には、CPU56)は、メイン処理の実行を開始する。
図51は、主基板31における遊技制御用マイクロコンピュータ560が実行するメイン処理を示すフローチャートである。メイン処理において、CPU56は、まず、必要な初期設定を行う。初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードの設定を行い(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスの初期化(内蔵デバイス(内蔵周辺回路)であるタイマ回路509、パラレル入力ポート511およびパラレル出力ポート513の初期化など)を行った後(ステップS4)、RAMをアクセス可能状態に設定する(ステップS5)。なお、ステップS4の処理において、CPU56は、ウオッチドッグタイマ(WDT)506bの動作を許可するための設定または禁止するための設定も行う。具体的には、リセット設定(KRES)のビット[6]に”1”または”0”を設定する。
次いで、CPU56は、Qレジスタに初期値F0Hをセットする(ステップS5A)。すなわち、ステップS5の処理が実行されてRAM55をアクセス可能状態に設定したタイミングで、Qレジスタに初期値F0Hがセットされる。
次いで、CPU56は、入力ポートを介して入力されるクリアスイッチ921の出力信号(クリア信号)の状態を確認する(ステップS6)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理(ステップS10〜S14およびステップS15)を実行する。
クリアスイッチがオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域(バックアップ領域)のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS7)。具体的には、RAM55の所定領域(この実施の形態では、バックアップ領域における1バイトであるバックアップフラグ領域)にバックアップフラグがセットされているか否か確認する。すなわち、バックアップフラグ領域のデータがバックアップフラグとしての所定値(バックアップフラグ値:この実施の形態では、55(H))であるか否か確認する。なお、バックアップフラグ値は、電力供給停止時処理において設定される。
電力供給停止時処理が行われたことを確認した場合には、CPU56は、バックアップ領域のデータチェックを行う。この実施の形態では、データチェックとしてパリティチェックを行う。すなわち、算出したチェックサムと、電力供給停止時処理で同一の処理によって算出され保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップ領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップ領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常である場合には(ステップS8)、CPU56は、遊技制御手段(遊技制御用マイクロコンピュータ560)の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理(ステップS41〜S45の処理)を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS41)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS42)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS41およびS42の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分は、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグ、確変フラグ、時短フラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
また、CPU56は、RAM55のバックアップフラグ領域に特定値(この実施の形態では、AA(H))を設定する(ステップS43)。
また、CPU56は、電力供給復旧時の初期化コマンドとしての停電復旧指定コマンドを送信する(ステップS44)。また、CPU56は、バックアップRAMに保存されている表示結果(確変大当り、通常大当り、突然確変大当り、小当り、またははずれ)を指定した表示結果指定コマンドを演出制御基板80に対して送信する(ステップS45)。そして、ステップS15に移行する。
なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップ領域のデータが保存されているか否か確認するが、バックアップフラグのみを、遊技状態復旧処理を実行するための契機にしてもよい。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAMクリア処理によって、所定のデータ(例えば、普通図柄当り判定用乱数を生成するためのカウンタのカウント値のデータ)は0に初期化されるが、任意の値またはあらかじめ決められている値に初期化するようにしてもよい。また、RAM55の全領域を初期化せず、所定のデータ(例えば、普通図柄当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。
ステップS11およびS12の処理によって、例えば、普通図柄当り判定用乱数カウンタ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
また、CPU56は、RAM55のバックアップフラグ領域に特定値(この実施の形態では、AA(H))を設定する(ステップS13)。
また、CPU56は、サブ基板(主基板31以外のマイクロコンピュータが搭載された基板。)を初期化するための初期化指定コマンド(遊技制御用マイクロコンピュータ560が初期化処理を実行したことを示すコマンドでもある。)をサブ基板に送信する(ステップS14)。例えば、演出制御用マイクロコンピュータ100は、初期化指定コマンドを受信すると、演出表示装置9において、遊技機の制御の初期化がなされたことを報知するための画面表示、すなわち初期化報知を行う。
そして、ステップS15において、CPU56は、所定時間(例えば4ms)毎に定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているタイマ回路509のレジスタの設定を行なう。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜S15)が完了すると、CPU56は、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)を繰り返し実行する。表示用乱数更新処理および初期値用乱数更新処理を実行するときには割込禁止状態に設定し(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態に設定する(ステップS19)。この実施の形態では、表示用乱数は、変動パターンを決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理は、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。この実施の形態では、初期値用乱数は、普通図柄に関して当りとするか否か決定するための乱数を発生するためのカウンタ(普通図柄当り判定用乱数発生カウンタ)のカウント値の初期値を決定するための乱数である。遊技の進行を制御する遊技制御処理(遊技制御用マイクロコンピュータ560が、遊技機に設けられている演出表示装置、可変入賞球装置、球払出装置等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、普通図柄当り判定用乱数のカウント値が1周(普通図柄当り判定用乱数の取りうる値の最小値から最大値までの間の数値の個数分歩進したこと)すると、そのカウンタに初期値が設定される。
タイマ割込が発生すると、CPU56は、図52に示すステップS21〜S34のタイマ割込処理を実行する。タイマ割込処理において、CPU56は、入力ドライバ回路58を介して、ゲートスイッチ32a、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39aの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
次に、CPU56は、第1特別図柄表示器8a、第2特別図柄表示器8b、普通図柄表示器10、第1特別図柄保留記憶表示器18a、第2特別図柄保留記憶表示器18b、普通図柄保留記憶表示器41の表示制御を行う表示制御処理を実行する(ステップS22)。第1特別図柄表示器8a、第2特別図柄表示器8bおよび普通図柄表示器10については、ステップS32,S33で設定される出力バッファの内容に応じて各表示器に対して駆動信号を出力する制御を実行する。
また、遊技制御に用いられる普通図柄当り判定用乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(判定用乱数更新処理:ステップS23)。CPU56は、さらに、初期値用乱数および表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(初期値用乱数更新処理,表示用乱数更新処理:ステップS24,S25)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス処理では、第1特別図柄表示器8a、第2特別図柄表示器8bおよび大入賞口を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理を実行する。CPU56は、特別図柄プロセスフラグの値を、遊技状態に応じて更新する。
次いで、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、CPU56は、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理を実行する。CPU56は、普通図柄プロセスフラグの値を、遊技状態に応じて更新する。
また、CPU56は、演出制御用マイクロコンピュータ100に演出制御コマンドを送出する処理を行う(演出制御コマンド制御処理:ステップS28)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
また、CPU56は、第1始動口スイッチ13a、第2始動口スイッチ14aおよびカウントスイッチ23の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS30)。具体的には、第1始動口スイッチ13a、第2始動口スイッチ14aおよびカウントスイッチ23のいずれかがオンしたことにもとづく入賞検出に応じて、払出制御基板37に搭載されている払出制御用マイクロコンピュータに賞球個数を示す払出制御コマンド(賞球個数信号)を出力する。払出制御用マイクロコンピュータは、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。
この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポートの出力状態に対応したRAM領域におけるソレノイドのオン/オフに関する内容を出力ポートに出力する(ステップS31:出力処理)。
また、CPU56は、特別図柄プロセスフラグの値に応じて特別図柄の演出表示を行うための特別図柄表示制御データを特別図柄表示制御データ設定用の出力バッファに設定する特別図柄表示制御処理を行う(ステップS32)。
さらに、CPU56は、普通図柄プロセスフラグの値に応じて普通図柄の演出表示を行うための普通図柄表示制御データを普通図柄表示制御データ設定用の出力バッファに設定する普通図柄表示制御処理を行う(ステップS33)。CPU56は、例えば、普通図柄の変動に関する開始フラグがセットされると終了フラグがセットされるまで、普通図柄の変動速度が0.2秒ごとに表示状態(「○」および「×」)を切り替えるような速度である場合には、0.2秒が経過する毎に、出力バッファに設定される表示制御データの値(例えば、「○」を示す1と「×」を示す0)を切り替える。また、CPU56は、出力バッファに設定された表示制御データに応じて、ステップS22において駆動信号を出力することによって、普通図柄表示器10における普通図柄の演出表示を実行する。
その後、割込許可状態に設定し(ステップS34)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は4ms毎に起動されることになる。なお、遊技制御処理は、タイマ割込処理におけるステップS21〜S33(ステップS29を除く。)の処理に相当する。また、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
第1特別図柄表示器8aまたは第2特別図柄表示器8bおよび演出表示装置9にはずれ図柄が停止表示される場合には、演出図柄の可変表示が開始されてから、演出図柄の可変表示状態がリーチ状態にならずに、リーチにならない所定の演出図柄の組み合わせが停止表示されることがある。このような演出図柄の可変表示態様を、可変表示結果がはずれ図柄になる場合における「非リーチ」(「通常はずれ」ともいう)の可変表示態様という。
第1特別図柄表示器8aまたは第2特別図柄表示器8bおよび演出表示装置9にはずれ図柄が停止表示される場合には、演出図柄の可変表示が開始されてから、演出図柄の可変表示状態がリーチ状態となった後にリーチ演出が実行され、最終的に大当り図柄とはならない所定の演出図柄の組み合わせが停止表示されることがある。このような演出図柄の可変表示結果を、可変表示結果が「はずれ」になる場合における「リーチ」(「リーチはずれ」ともいう)の可変表示態様という。
この実施の形態では、第1特別図柄表示器8aまたは第2特別図柄表示器8bに大当り図柄が停止表示される場合には、演出図柄の可変表示状態がリーチ状態になった後にリーチ演出が実行され、最終的に演出表示装置9における「左」、「中」、「右」の各図柄表示エリア9L、9C、9Rに、演出図柄が揃って停止表示される。
第1特別図柄表示器8aまたは第2特別図柄表示器8bに小当りである「5」が停止表示される場合には、演出表示装置9において、演出図柄の可変表示態様が「突然確変大当り」である場合と同様に演出図柄の可変表示が行われた後、所定の小当り図柄(突然確変大当り図柄と同じ図柄。例えば「135」)が停止表示されることがある。第1特別図柄表示器8aまたは第2特別図柄表示器8bに小当り図柄である「5」が停止表示されることに対応する演出表示装置9における表示演出を「小当り」の可変表示態様という。
小当りは、大当りと比較して大入賞口の開放回数が少ない回数(この実施の形態では0.1秒間の開放を2回)まで許容される当りである。なお、小当り遊技が終了した場合、遊技状態は変化しない。すなわち、確変状態から通常状態に移行したり通常状態から確変状態に移行したりすることはない。また、突然確変大当りとは、大当り遊技状態において大入賞口の開放回数が少ない回数(この実施の形態では0.1秒間の開放を2回)まで許容されるが大入賞口の開放時間が極めて短い大当りであり、かつ、大当り遊技後の遊技状態を確変状態に移行させるような大当りである(すなわち、そのようにすることによって、遊技者に対して突然に確変状態となったかのように見せるものである)。つまり、この実施の形態では、突然確変大当りと小当りとは、大入賞口の開放パターンが同じである。そのように制御することによって、大入賞口の0.1秒間の開放が2回行われると、突然確変大当りであるか小当りであるかまでは認識できないので、遊技者に対して高確率状態(確変状態)を期待させることができ、遊技の興趣を向上させることができる。
図53および図54は、ステップS20の電圧低下時処理の一例を示すフローチャートである。図4に示された電源監視回路920は、遊技機において用いられる所定電圧(例えば、+24V)が所定値(例えば、+5V)以下になると電源断信号を出力するのであるが、具体的には、電源断信号をオン状態(ローレベル)にするのであるが、電源断信号は、遊技制御用マイクロコンピュータ560のNMI端子に入力される。遊技制御用マイクロコンピュータ560は、電源断信号がオフ状態(ハイレベル)からオン状態に変化すると、NMIを発生する。NMIが発生すると、遊技制御用マイクロコンピュータ560は、NMI処理を開始する。すなわち、NMIが発生したときの実行開始アドレスとして決められているプログラムエリアにおけるアドレスから設定されている電圧低下時処理プログラムに従って処理を実行する。
電圧低下時処理において、CPU56は、RAM55のバックアップフラグ領域に設定されているデータが特定値(この実施の形態では、AA(H))であるか否か確認する(ステップS450)。バックアップフラグ領域に設定されているデータが特定値でない場合には、バックアップフラグ領域に00(H)を設定し(ステップS451)、RAMアクセスレジスタにアクセス禁止値を設定した後(ステップS452)、ループ処理に入る(無限ループに移行する。)。すなわち、何の処理も実行しない状態になる。なお、以後、RAM55のアクセスは不能である。
次に電力供給が開始されたときに、CPU56は、バックアップフラグ領域に所定値(55(H))が保存されていることを条件に、遊技状態復旧処理(ステップS41〜S45)を実行する。よって、ステップS451の処理が実行された場合には、遊技状態復旧処理は実行されない。すなわち、電源電圧が低下して電力供給停止時処理が実行されるときにバックアップフラグ領域のデータが特定値でない場合には、次に電力供給が開始されたときに、遊技状態復旧処理は実行されず初期化処理が実行される。なお、ステップS451の処理でバックアップフラグ領域に設定される値は、特定値(AA(H))に一致しなければよいので、00(H)でなくてもよい。
バックアップフラグ領域に設定されているデータが特定値である場合には、CPU56は、RAM55のバックアップフラグ領域に所定値(55(H))を設定し(ステップS453)、また、RAM55の記憶内容を保存するための電力供給停止時処理を実行する。
電力供給停止時処理において、CPU56は、パリティデータを作成する(ステップS454〜S463)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS454)、電力供給停止時でも内容が保存されるべきRAM領域の先頭アドレスに相当するチェックサム算出開始アドレスをポインタにセットする(ステップS455)。また、電力供給停止時でも内容が保存されるべきRAM領域の最終アドレスに相当するチェックサム算出回数をセットする(ステップS456)。
次いで、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS457)。演算結果をチェックサムデータエリアにストアするとともに(ステップS458)、ポインタの値を1増やし(ステップS459)、チェックサム算出回数の値を1減算する(ステップS460)。そして、ステップS457〜S460の処理を、チェックサム算出回数の値が0になるまで繰り返す(ステップS461)。
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS462)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS463)。このデータが、電源投入時にチェックされるパリティデータになる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS471)。以後、内蔵RAM55のアクセスができなくなる。
さらに、CPU56は、ROM54に格納されているポートクリア設定テーブルの先頭アドレスをポインタにセットする(ステップS472)。ポートクリア設定テーブルにおいて、先頭アドレスには処理数(クリアすべき出力ポートの数)が設定され、次いで、出力ポートのアドレスおよび出力値データ(クリアデータ:出力ポートの各ビットのオフ状態の値)が、処理数分の出力ポートについて順次設定されている。
CPU56は、ポインタが指すアドレスのデータ(すなわち処理数)をロードする(ステップS473)。また、ポインタの値を1増やし(ステップS474)、ポインタが指すアドレスのデータ(すなわち出力ポートのアドレス)をロードする(ステップS475)。さらに、ポインタの値を1増やし(ステップS476)、ポインタが指すアドレスのデータ(すなわち出力値データ)をロードする(ステップS477)。そして、出力値データを出力ポートに出力する(ステップS478)。その後、処理数を1減らし(ステップS479)、処理数が0でなければステップS474に戻る。
処理数が0である場合には、すなわち、クリアすべき出力ポートを全てクリアしたら、タイマ割込を停止する(ステップS481)。なお、出力ポートをクリアする処理をチェックサムデータを作成する処理の前に実行してもよい。例えば、CPU56は、ステップS453でYと判定した後、直ちにステップS472〜S480の出力ポートクリアの処理を実行するようにしてもよい。
また、CPU56は、WDT506bを起動するための設定を行う(ステップS482)。すなわち、WDTスタートレジスタ(WST)にCC(H)を設定してWDT506bを起動する。なお、CPU56は、リセット設定(KRES)のビット番号[6](図14参照)にあらかじめ“1”を設定し、WDT506bをソフトウェアで起動可能に設定する。例えば、初期設定処理(ステップS4の処理に相当)で、リセット設定(KRES)のビット番号[6]に“1”を設定する。
また、CPU56は、例えば初期設定処理で、リセット設定(KRES)のビット番号[5−4]に“11”を設定するとともに、ビット番号[3−0]に“1111”を設定する。すなわち、WDT506bが計時する監視時間に相当するタイムアウト時間を、監視時間として設定可能な時間のうちの最長時間にする。ただし、このような設定の仕方は一例である。
その後、RAMアクセスレジスタにアクセス禁止値を設定した後(ステップS483)、CPU56は、ループ処理に入る。ループ処理を行っているときに、電源監視回路920は、VCCが第1の所定値にまで低下したことに応じて、リセット信号をオン状態にする。すなわち、遊技制御用マイクロコンピュータ560は動作停止状態になる。
以上の処理によって、電力供給が停止する場合には、ステップS453〜S481の電力供給停止時処理が実行され、電力供給停止時処理が実行されたことを示す特定値(AA(H))がバックアップフラグ領域にストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされ、かつ、遊技制御処理を実行するためのタイマ割込が禁止状態に設定される。
なお、電力供給停止時処理は所定電圧の値が低下したことにもとづいて実行されるが、電圧が一旦低下した後に復旧することもある(いわゆる、瞬停の場合)。そのような状況が生じたときには、CPU56は、ループ処理を継続してしまう。
そこで、この実施の形態では、ステップS482の処理でソフトウェアによってWDT506bを起動し、WDT506bがタイムアウトしたことにもとづいて遊技制御用マイクロコンピュータ560をリセットする(図14におけるビット番号[7]参照)。従って、電圧が復旧した場合に、遊技制御用マイクロコンピュータ560は遊技制御動作を再開することができる。
また、図52には示されていないが、ステップS452の処理を実行した場合にも、ステップS483の処理と同様の処理を行う。
また、WDT506bを使用せずに、電圧が一旦低下した後に復旧した場合に遊技制御用マイクロコンピュータ560が遊技制御動作を再開することができるようにしてもよい。例えば、電源断信号をNMI端子に入力させるとともに、入力ポートにも入力させるように構成する。そして、ステップS452,S483の処理を実行した後、CPU56は、入力ポートに入力されている電源断信号の状態を監視し続ける。電源断信号の状態がハイレベルに戻ったとき(電源断信号がオフ状態になったとき)に、CPU56は、NMIが生じたときに実行していた処理を再開する(NMIが生じたときに実行していた処理にリターンする)。なお、CPU56は、ステップS1の処理から制御を開始するようにしてもよい。
この実施の形態では、RAM55がバックアップ電源によって電源バックアップ(遊技機への電力供給が停止しても所定期間はRAM55の内容が保存されこと)されている。この例では、ステップS453〜S463の処理によって、バックアップフラグ値とともに、電源断信号が出力されたときのRAM55の内容にもとづくチェックサムもRAM55のバックアップ領域に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御手段は、上述したステップS41〜S44の処理によって、RAM55に保存されているデータ(電力供給が停止した直前の遊技制御手段による制御状態である遊技状態を示すデータ(例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等)を含む)に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップフラグ値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップS10〜S15の初期化処理が実行される。
また、ステップS483の処理を実行した後電源断信号がオフ状態になった場合には、遊技制御はステップS1に戻る(WTD506bを使用する場合、電源断信号を入力ポートにも導入するように構成されている場合には電源断信号がオフ状態に戻ったことによってステップS1から処理を実行するとき)。その場合、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップS41〜S45の復旧処理が実行される。よって、電力供給停止時処理を実行した後に電源断信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。なお、WTD506b等を使用せず(ステップS482の処理等を実行せず)電源断信号がオフ状態になった場合でもループ処理を継続するようにしてもよい。その場合には、電源スイッチ914(図4参照)を一度オフした後にオンすることによって、遊技制御がステップS1に戻る。
また、この実施の形態では、バックアップフラグ領域のデータの値が特定値(AA(H))であったことを条件に、電力供給停止時処理が実行される。なお、特定値は、電力供給が開始されたときにバックアップフラグ領域に設定されるが(図50参照)、他のタイミングで設定されてもよい。例えば、CPU56は、図51に示すステップS15の処理を実行した後や、図52に示すタイマ割込処理における任意のタイミングで、バックアップフラグ領域に特定値を設定する。タイマ割込処理で特定値を設定する場合には、電源投入後に一度だけ特定値を設定してもよいが、常に(4msごとに)特定値を設定してもよい。
電力供給が停止するとき(電圧が低下したとき)には、ハードウェア回路から遊技制御用マイクロコンピュータ560に入力される信号が不安定になっているおそれがある。例えば、電源が実際にオフするまでの間に、NMIが複数回発生することも考えられる。また、電圧が低下していることに起因してRAM55の内容が変化するおそれもある。電力供給停止時処理が開始されるときには、バックアップフラグ領域には特定値が記憶されているはずであるが、電圧が低下したときにはその値が変化しているおそれがある。バックアップフラグ領域に特定値が記憶されていないということは、RAM55の内容を正しく保存できないことを意味している。そこで、この実施の形態では、バックアップフラグ領域のデータの値が特定値(AA(H))でなかった場合にはRAM55の内容を保存するための処理(バックアップフラグ値(55(H)の設定等)を実行しないようにして、次に電力供給が開始されたときに不確かなデータにもとづいて遊技制御復旧処理が実行されることを防止する。
なお、この実施の形態では、電源断信号が遊技制御用マイクロコンピュータ560のNMI端子に入力されたが、マスク可能割込端子に電源断信号を入力してマスク可能割込処理で電圧低下時処理を実行するように構成されている場合にも上記の考え方(特定値が記憶されていることを条件に所定値を設定するとともに電力供給停止時処理を実行し、初期化処理で特定値を設定する。)を適用することができる。
また、電源断信号を入力ポートに導入し、割込を使用せず、入力ポートの入力状態を随時確認する(例えば、4msタイマ割込処理で確認する。)ことによって電源断信号の状態を確認し、電源断信号の入力を検出したら、電圧低下時処理を実行するように構成されている場合にも上記の考え方を適用することができる。
図55は、この実施の形態で用いられる各ソフトウェア乱数を示す説明図である。各ソフトウェア乱数は、以下のように使用される。なお、前述したように、この実施の形態では、大当りとするか否かを判定するための大当り判定用乱数(ランダムR)については、16ビット乱数回路508bが出力するハードウェア乱数が用いられる。
(1)ランダム1(MR1):大当りの種類(通常大当り、確変大当り、突然確変大当り)を決定する(大当り種別判定用)
(2)ランダム2(MR2):変動パターンの種類(種別)を決定する(変動パターン種別判定用)
(3)ランダム3(MR3):変動パターン(変動時間)を決定する(変動パターン判定用)
(4)ランダム4(MR4):普通図柄にもとづく当りを発生させるか否か決定する(普通図柄当り判定用)
(5)ランダム5(MR5):ランダム4の初期値を決定する(ランダム4初期値決定用)
なお、この実施の形態では、大当り判定用乱数(ランダムR)についてのみ乱数回路から抽出したハードウェア乱数が用いられ、それ以外の乱数についてはソフトウェア乱数が用いられているが、例えば、大当り判定用乱数(ランダムR)に加えて図55に示すランダム1〜5の全てについて乱数回路から抽出したハードウェア乱数を用いるようにしてもよい。また、図55に示すランダム1〜5のうちの一部の乱数についてのみ乱数回路から抽出したハードウェア乱数を用い、それ以外についてはソフトウェア乱数を用いるようにしてもよい。
また、この実施の形態では、まず、変動パターン種別判定用乱数(ランダム2)を用いて変動パターン種別を決定し、変動パターン判定用乱数(ランダム3)を用いて、決定した変動パターン種別に含まれるいずれかの変動パターンに決定する。すなわち、この実施の形態では、2段階の抽選処理によって変動パターンが決定される。
変動パターン種別は、複数の変動パターンをその変動態様の特徴に従ってグループ化されたグループに相当する。例えば、複数の変動パターンをリーチの種類でグループ化して、ノーマルリーチを伴う変動パターンを含む変動パターン種別と、スーパーリーチAを伴う変動パターンを含む変動パターン種別と、スーパーリーチBを伴う変動パターンを含む変動パターン種別とに分けてもよい。また、例えば、複数の変動パターンを擬似連の再変動の回数でグループ化して、擬似連を伴わない変動パターンを含む変動パターン種別と、再変動1回の変動パターンを含む変動パターン種別と、再変動2回の変動パターンを含む変動パターン種別と、再変動3回の変動パターンを含む変動パターン種別とに分けてもよい。また、例えば、複数の変動パターンを擬似連や滑り演出などの特定演出の有無でグループ化してもよい。
図52に示された遊技制御処理におけるステップS23では、遊技制御用マイクロコンピュータ560は、(1)の大当り種別判定用乱数、および(4)の普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数(ランダム2、ランダム3)または初期値用乱数(ランダム5)である。なお、遊技効果を高めるために、上記の乱数以外の乱数も用いてもよい。例えば、大当り種別判定用乱数(ランダム1)の初期値を決定するための初期値決定用乱数を設けるようにしてもよい。また、この実施の形態では、大当り判定用乱数として、遊技制御用マイクロコンピュータ560に内蔵されたハードウェア(遊技制御用マイクロコンピュータ560の外部のハードウェアでもよい。)が生成する乱数を用いる。
図56(A)は、大当り判定テーブルを示す説明図である。大当り判定テーブルとは、ROM54に記憶されているデータの集まりであって、ランダムRと比較される大当り判定値が設定されているテーブルである。大当り判定テーブルには、通常状態(確変状態でない遊技状態)において用いられる通常時大当り判定テーブルと、確変状態において用いられる確変時大当り判定テーブルとがある。通常時大当り判定テーブルには、図56(A)の左欄に記載されている各数値が設定され、確変時大当り判定テーブルには、図56(A)の右欄に記載されている各数値が設定されている。図56(A)に記載されている数値が大当り判定値である。
図56(B),(C)は、小当り判定テーブルを示す説明図である。小当り判定テーブルとは、ROM54に記憶されているデータの集まりであって、ランダムRと比較される小当り判定値が設定されているテーブルである。小当り判定テーブルには、第1特別図柄の変動表示を行うときに用いられる小当り判定テーブル(第1特別図柄用)と、第2特別図柄の変動表示を行うときに用いられる小当り判定テーブル(第2特別図柄用)とがある。小当り判定テーブル(第1特別図柄用)には、図56(B)に記載されている各数値が設定され、小当り判定テーブル(第2特別図柄用)には、図56(C)に記載されている各数値が設定されている。また、図56(B),(C)に記載されている数値が小当り判定値である。
なお、第1特別図柄の変動表示を行う場合にのみ小当りと決定するようにし、第2特別図柄の変動表示を行う場合には小当りを設けないようにしてもよい。その場合、図56(C)に示す第2特別図柄用の小当り判定テーブルは設けなくてもよい。この実施の形態では、遊技状態が確変状態に移行されているときには主として第2特別図柄の変動表示が実行される。遊技状態が確変状態に移行されているときにも小当りが発生するようにし、確変状態に移行するか否かを煽る演出を行うように構成すると、現在の遊技状態が確変状態であるにもかかわらず却って遊技者に煩わしさを感じさせてしまう。そこで、第2特別図柄の変動表示中は小当りが発生しないように構成すれば、遊技状態が確変状態である場合には小当りが発生しにくくし必要以上に確変に対する煽り演出を行わないようにすることができ、遊技者に煩わしさを感じさせる事態を防止することができる。
CPU56は、所定の時期に、16ビット乱数回路508bのカウント値を抽出して抽出値を大当り判定用乱数(ランダムR)の値とするのであるが、大当り判定用乱数値が図56(A)に示すいずれかの大当り判定値に一致すると、特別図柄に関して大当り(通常大当り、確変大当り、突然確変大当り)にすることに決定する。また、大当り判定用乱数値が図56(B),(C)に示すいずれかの小当り判定値に一致すると、特別図柄に関して小当りにすることに決定する。なお、図56(A)に示す「確率」は、大当りになる確率(割合)を示す。また、図56(B),(C)に示す「確率」は、小当りになる確率(割合)を示す。また、大当りにするか否か決定するということは、大当り遊技状態に移行させるか否か決定するということであるが、第1特別図柄表示器8aまたは第2特別図柄表示器8bにおける停止図柄を大当り図柄にするか否か決定するということでもある。また、小当りにするか否か決定するということは、小当り遊技状態に移行させるか否か決定するということであるが、第1特別図柄表示器8aまたは第2特別図柄表示器8bにおける停止図柄を小当り図柄にするか否か決定するということでもある。
なお、この実施の形態では、図56(B),(C)に示すように、小当り判定テーブル(第1特別図柄用)を用いる場合には300分の1の割合で小当りと決定されるのに対して、小当り判定テーブル(第2特別図柄)を用いる場合には3000分の1の割合で小当りと決定される場合を説明する。従って、この実施の形態では、第1始動入賞口13に始動入賞して第1特別図柄の変動表示が実行される場合には、第2始動入賞口14に始動入賞して第2特別図柄の変動表示が実行される場合と比較して、「小当り」と決定される割合が高い。
図56(D),(E)は、ROM54に記憶されている大当り種別判定テーブル131a,131bを示す説明図である。このうち、図56(D)は、遊技球が第1始動入賞口13に入賞したことにもとづく保留記憶を用いて(すなわち、第1特別図柄の変動表示が行われるとき)大当り種別を決定する場合の大当り種別判定テーブル(第1特別図柄用)131aである。また、図56(E)は、遊技球が第2始動入賞口14に入賞したことにもとづく保留記憶を用いて(すなわち、第2特別図柄の変動表示が行われるとき)大当り種別を決定する場合の大当り種別判定テーブル(第2特別図柄用)131bである。
大当り種別判定テーブル131a,131bは、可変表示結果を大当り図柄にする旨の判定がなされたときに、大当り種別判定用の乱数(ランダム1)にもとづいて、大当りの種別を「通常大当り」、「確変大当り」、「突然確変大当り」のうちのいずれかに決定するために参照されるテーブルである。なお、この実施の形態では、図56(D),(E)に示すように、大当り種別判定テーブル131aには「突然確変大当り」に対して10個の判定値が割り当てられている(40分の10の割合で突然確変大当りと決定される)のに対して、大当り種別判定テーブル131bには「突然確変大当り」に対して3個の判定値が割り当てられている(40分の3の割合で突然確変大当りと決定される)場合を説明する。従って、この実施の形態では、第1始動入賞口13に始動入賞して第1特別図柄の変動表示が実行される場合には、第2始動入賞口14に始動入賞して第2特別図柄の変動表示が実行される場合と比較して、「突然確変大当り」と決定される割合が高い。なお、第1特別図柄用の大当り種別判定テーブル131aにのみ「突然確変大当り」を振り分けるようにし、第2特別図柄用の大当り種別判定テーブル131bには「突然確変大当り」の振り分けを行わない(すなわち、第1特別図柄の変動表示を行う場合にのみ、「突然確変大当り」と決定される場合がある)ようにしてもよい。
なお、この実施の形態では、図56(D),(E)に示すように、所定量の遊技価値が付与される第1特定遊技状態として2ラウンドの突然確変大当りに決定され、その遊技価値よりも多い量の遊技価値が付与される第2特定遊技状態として15ラウンドの大当り(確変大当りまたは通常大当り)が決定され、第1特別図柄の変動表示が実行される場合に高い割合で第1特定遊技状態とすることに決定されるが、付与される遊技価値は、ラウンド数に限られない。
また、この実施の形態では、図56(D),(E)に示すように、大当り種別として、「通常大当り」、「確変大当り」および「突然確変大当り」がある。
「確変大当り」は、15ラウンドの大当り遊技状態に制御し、その大当り遊技状態の終了後に確変状態に移行させる大当りである(この実施の形態では、確変状態に移行されるとともに時短状態にも移行される。)。そして、確変状態に移行した後、次の大当りが発生するまで確変状態が維持される。
また、「通常大当り」は、15ラウンドの大当り遊技状態に制御し、その大当り遊技状態の終了後に確変状態に移行されず、時短状態にのみ移行される大当りである。そして、時短状態に移行した後、特別図柄および演出図柄の変動表示の実行を所定回数(例えば、100回)終了するまで時短状態が維持される。なお、この実施の形態では、時短状態に移行した後、所定回数の変動表示の実行を終了する前に大当りが発生した場合にも、時短状態が終了する。
また、「突然確変大当り」は、「確変大当り」や「通常大当り」と比較して大入賞口の開放回数が少ない回数(この実施の形態では0.1秒間の開放を2回)まで許容される大当りである。すなわち、「突然確変大当り」となった場合には、2ラウンドの大当り遊技状態に制御される。そして、2ラウンドの大当り遊技状態の終了後に確変状態に移行される(この実施の形態では、確変状態に移行されるとともに時短状態にも移行される。)。そして、確変状態に移行した後、次の大当りが発生するまで確変状態が維持される。
なお、上述したように、この実施の形態では、「小当り」となった場合にも、大入賞口の開放が0.1秒間ずつ2回行われ、「突然確変大当り」による大当り遊技状態と同様の制御が行われる。そして、「小当り」となった場合には、大入賞口の2回の開放が終了した後、遊技状態は変化せず、「小当り」になる前の遊技状態が維持される。そのようにすることによって、「突然確変大当り」であるか「小当り」であるかを認識できないようにし、遊技の興趣を向上させている。
大当り種別判定テーブル131a,131bには、ランダム1の値と比較される数値であって、「通常大当り」、「確変大当り」、「突然確変大当り」のそれぞれに対応した判定値(大当り種別判定値)が設定されている。CPU56は、ランダム1の値が大当り種別判定値のいずれかに一致した場合に、大当りの種別を、一致した大当り種別判定値に対応する種別に決定する。
図57および図58は、主基板31に搭載される遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行する特別図柄プロセス処理(ステップS26)のプログラムの一例を示すフローチャートである。上述したように、特別図柄プロセス処理では第1特別図柄表示器8aまたは第2特別図柄表示器8bおよび大入賞口を制御するための処理が実行される。特別図柄プロセス処理において、CPU56は、第1始動入賞口13に遊技球が入賞したことを検出するための第1始動口スイッチ13aがオンしていたら、すなわち、第1始動入賞口13への始動入賞が発生していたら、第1始動口スイッチ通過処理を実行する(ステップS311,S312)。また、CPU56は、第2始動入賞口14に遊技球が入賞したことを検出するための第2始動口スイッチ14aがオンしていたら、すなわち第2始動入賞口14への始動入賞が発生していたら、第2始動口スイッチ通過処理を実行する(ステップS313,S314)。そして、ステップS300〜S310のうちのいずれかの処理を行う。第1始動入賞口スイッチ13aまたは第2始動口スイッチ14aがオンしていなければ、内部状態に応じて、ステップS300〜S310のうちのいずれかの処理を行う。
ステップS300〜S310の処理は、以下のような処理である。
特別図柄通常処理(ステップS300):特別図柄プロセスフラグの値が0であるときに実行される。遊技制御用マイクロコンピュータ560は、特別図柄の可変表示が開始できる状態になると、保留記憶数バッファに記憶される数値データの記憶数(合算保留記憶数)を確認する。保留記憶数バッファに記憶される数値データの記憶数は合算保留記憶数カウンタのカウント値で確認できる。また、合算保留記憶数カウンタのカウント値が0でなければ、大当り判定用乱数(ランダムR)を用いた抽選処理を実行することによって、第1特別図柄または第2特別図柄の可変表示の表示結果を大当りとするか否かを決定する。大当りとする場合には大当りフラグをセットする。そして、内部状態(特別図柄プロセスフラグ)をステップS301に応じた値(この例では1)に更新する。なお、大当りフラグは、大当り遊技が終了するときにリセットされる。
変動パターン設定処理(ステップS301):特別図柄プロセスフラグの値が1であるときに実行される。また、変動パターンを決定し、その変動パターンにおける変動時間(可変表示時間:可変表示を開始してから表示結果を導出表示(停止表示)するまでの時間)を特別図柄の可変表示の変動時間とすることに決定する。また、特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態(特別図柄プロセスフラグ)をステップS302に対応した値(この例では2)に更新する。
表示結果指定コマンド送信処理(ステップS302):特別図柄プロセスフラグの値が2であるときに実行される。演出制御用マイクロコンピュータ100に、表示結果指定コマンドを送信する制御を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS303に対応した値(この例では3)に更新する。
特別図柄変動中処理(ステップS303):特別図柄プロセスフラグの値が3であるときに実行される。変動パターン設定処理で選択された変動パターンの変動時間が経過(ステップS301でセットされる変動時間タイマがタイムアウトすなわち変動時間タイマの値が0になる)すると、演出制御用マイクロコンピュータ100に、図柄確定指定コマンドを送信する制御を行い、内部状態(特別図柄プロセスフラグ)をステップS304に対応した値(この例では4)に更新する。なお、演出制御用マイクロコンピュータ100は、遊技制御用マイクロコンピュータ560が送信する図柄確定指定コマンドを受信すると演出表示装置9において第4図柄が停止されるように制御する。
特別図柄停止処理(ステップS304):特別図柄プロセスフラグの値が4であるときに実行される。大当りフラグがセットされている場合に、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。また、小当りフラグがセットされている場合には、内部状態(特別図柄プロセスフラグ)をステップS308に対応した値(この例では8)に更新する。大当りフラグおよび小当りフラグのいずれもセットされていない場合には、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。なお、この実施の形態では、特別図柄プロセスフラグの値が4となったことにもとづいて、後述するように、特別図柄表示制御処理において特別図柄の停止図柄を停止表示するための特別図柄表示制御データが特別図柄表示制御データ設定用の出力バッファに設定され(図59参照)、ステップS22の表示制御処理において出力バッファの設定内容に応じて実際に特別図柄の停止図柄が停止表示される。
大入賞口開放前処理(ステップS305):特別図柄プロセスフラグの値が5であるときに実行される。大入賞口開放前処理では、大入賞口を開放する制御を行う。具体的には、カウンタ(例えば、大入賞口に入った遊技球数をカウントするカウンタ)などを初期化するとともに、ソレノイド21を駆動して大入賞口を開放状態にする。また、タイマによって大入賞口開放中処理の実行時間を設定し、内部状態(特別図柄プロセスフラグ)をステップS306に対応した値(この例では6)に更新する。なお、大入賞口開放前処理は各ラウンド毎に実行されるが、第1ラウンドを開始する場合には、大入賞口開放前処理は大当り遊技を開始する処理でもある。
大入賞口開放中処理(ステップS306):特別図柄プロセスフラグの値が6であるときに実行される。大当り遊技状態中のラウンド表示の演出制御コマンドを演出制御用マイクロコンピュータ100に送信する制御や大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。また、全てのラウンドを終えた場合には、内部状態(特別図柄プロセスフラグ)をステップS307に対応した値(この例では7)に更新する。
大当り終了処理(ステップS307):特別図柄プロセスフラグの値が7であるときに実行される。大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御用マイクロコンピュータ100に行わせるための制御を行う。また、遊技状態を示すフラグ(例えば、確変フラグや時短フラグ)をセットする処理を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。
小当り開放前処理(ステップS308):特別図柄プロセスフラグの値が8であるときに実行される。小当り開放前処理では、大入賞口を開放する制御を行う。具体的には、カウンタ(例えば、大入賞口に入った遊技球数をカウントするカウンタ)などを初期化するとともに、ソレノイド21を駆動して大入賞口を開放状態にする。また、タイマによって大入賞口開放中処理の実行時間を設定し、内部状態(特別図柄プロセスフラグ)をステップS309に対応した値(この例では9)に更新する。なお、小当り開放前処理は各ラウンド毎に実行されるが、第1ラウンドを開始する場合には、小当り開放前処理は小当り遊技を開始する処理でもある。
小当り開放中処理(ステップS309):特別図柄プロセスフラグの値が9であるときに実行される。大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態(特別図柄プロセスフラグ)をステップS308に対応した値(この例では8)に更新する。また、全てのラウンドを終えた場合には、内部状態(特別図柄プロセスフラグ)をステップS310に対応した値(この例では10(10進数))に更新する。
小当り終了処理(ステップS310):特別図柄プロセスフラグの値が10であるときに実行される。小当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御用マイクロコンピュータ100に行わせるための制御を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。
図59は、ステップS312,S314の始動口スイッチ通過処理を示すフローチャートである。このうち、図59(A)は、ステップS312の第1始動口スイッチ通過処理を示すフローチャートである。また、図59(B)は、ステップS314の第2始動口スイッチ通過処理を示すフローチャートである。
まず、図59(A)を参照して第1始動口スイッチ通過処理について説明する。第1始動口スイッチ13aがオン状態の場合に実行される第1始動口スイッチ通過処理において、CPU56は、第1保留記憶数が上限値に達しているか否か(具体的には、第1保留記憶数をカウントするための第1保留記憶数カウンタの値が4でるか否か)を確認する(ステップS201A)。
第1保留記憶数が上限値に達していなければ、CPU56は、第1保留記憶数カウンタの値を1増やす(ステップS202A)とともに、合算保留記憶数をカウントするための合算保留記憶数カウンタの値を1増やす(ステップS203A)。
次いで、CPU56は、ソフトウェア乱数(大当り種別判定用乱数(ランダム1)、変動パターン種別判定用乱数(ランダム2)および変動パターン判定用乱数(ランダム3))を生成するための各カウンタから値を抽出する(ステップS204A)。また、CPU56は、チャネル0の16ビット乱数回路508bが用いるRL0ハードラッチ乱数値レジスタ0(RL0HV0)から、大当り判定用乱数(ランダムR)としての数値データを抽出する(ステップS205A)。
なお、既に、図25で説明したように、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット2−0の設定内容によっていずれの端子からの信号(ラッチ信号)にもとづいて、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチさせるかが設定されている。また、この実施の形態では、その設定された端子には、第1始動口スイッチ13aからの検出信号がラッチ信号として入力されているものとし、第1始動入賞口13への始動入賞が発生したタイミングでRL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチできるように構成されている。
そして、CPU56は、抽出したそれらのソフトウェア乱数および大当り判定用乱数(ランダムR)を、第1保留記憶バッファ(図60参照)における保存領域に格納する処理を実行する(ステップS206A)。なお、変動パターン判定用乱数(ランダム3)を第1始動口スイッチ通過処理(始動入賞時)において抽出して保存領域にあらかじめ格納しておくのではなく、第1特別図柄の変動開始時に抽出するようにしてもよい。例えば、遊技制御用マイクロコンピュータ560は、変動パターン設定処理において、変動パターン判定用乱数(ランダム3)を生成するための変動パターン判定用乱数カウンタから値を直接抽出するようにしてもよい。
図60は、保留記憶に対応する乱数等を保存する領域(保留記憶バッファ)の構成例を示す説明図である。図60に示すように、第1保留記憶バッファには、第1保留記憶数の上限値(この例では4)に対応した保存領域が確保されている。また、第2保留記憶バッファには、第2保留記憶数の上限値(この例では4)に対応した保存領域が確保されている。この実施の形態では、第1保留記憶バッファおよび第2保留記憶バッファには、ハードウェア乱数であるランダムR(大当り判定用乱数)や、ソフトウェア乱数である大当り種別判定用乱数(ランダム1)、変動パターン種別判定用乱数(ランダム2)および変動パターン判定用乱数(ランダム3)が記憶される。なお、第1保留記憶バッファおよび第2保留記憶バッファは、RAM55に形成されている。
そして、CPU56は、第1保留記憶数が1増加したことを指定する第1保留記憶数加算指定コマンドを演出制御用マイクロコンピュータ100に送信する制御を行う(ステップS207A)。
第1保留記憶数が上限値に達していれば(ステップS201AのY)、CPU56は、RL0ハードラッチ乱数値レジスタ0(RL0HV0)から数値データを抽出し(ステップS208A)、抽出した数値データ(乱数)を格納することなく、第1始動口スイッチ通過処理を終了する。すなわち、この実施の形態では、図25に示すプログラム管理エリアにおけるRL0ハードラッチ選択レジスタ0(RL0LS0)のビット3が”0”に設定され、RL0ハードラッチ乱数値レジスタ0(RL0HV0)から値を読み込まないと次の値をラッチできないように設定されている。そのため、第1保留記憶数が上限値に達している場合であっても、CPU56は、RL0ハードラッチ乱数値レジスタ0(RL0HV0)から数値データを抽出する処理のみを行い(値の格納までは行わない)、RL0ハードラッチ乱数値レジスタ0(RL0HV0)が次の値をラッチできる。
なお、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット3を”1”に設定し、RL0ハードラッチ乱数値レジスタ0(RL0HV0)から値を読み込まなくても次の値をラッチできるように設定してもよい。そのようにすれば、ステップS208Aの処理は不要である。
次に、図59(B)を参照して第2始動口スイッチ通過処理について説明する。第2始動口スイッチ14aがオン状態の場合に実行される第2始動口スイッチ通過処理において、CPU56は、第2保留記憶数が上限値に達しているか否か(具体的には、第2保留記憶数をカウントするための第2保留記憶数カウンタの値が4でるか否か)を確認する(ステップS201B)。
第2保留記憶数が上限値に達していなければ、CPU56は、第2保留記憶数カウンタの値を1増やす(ステップS202B)とともに、合算保留記憶数をカウントするための合算保留記憶数カウンタの値を1増やす(ステップS203B)。
次いで、CPU56は、ソフトウェア乱数(大当り種別判定用乱数(ランダム1)、変動パターン種別判定用乱数(ランダム2)および変動パターン判定用乱数(ランダム3))を生成するための各カウンタから値を抽出する(ステップS204B)。また、CPU56は、チャネル1の16ビット乱数回路508bが用いるRL1ハードラッチ乱数値レジスタ0(RL1HV0)から、大当り判定用乱数(ランダムR)としての数値データを抽出する(ステップS205B)。
なお、既に、図27で説明したように、RL1ハードラッチ選択レジスタ(RL1LS)のビット2−0の設定内容によっていずれの端子からの信号(ラッチ信号)にもとづいて、RL1ハードラッチ乱数値レジスタ0(RL1HV0)に乱数値をラッチさせるかが設定されている。また、この実施の形態では、その設定された端子には、第2始動口スイッチ14aからの検出信号がラッチ信号として入力されているものとし、第2始動入賞口14への始動入賞が発生したタイミングでRL1ハードラッチ乱数値レジスタ0(RL1HV0)に乱数値をラッチできるように構成されている。
そして、CPU56は、抽出したそれらのソフトウェア乱数および大当り判定用乱数(ランダムR)を、第2保留記憶バッファ(図60参照)における保存領域に格納する処理を実行する(ステップS206B)。なお、変動パターン判定用乱数(ランダム3)を第2始動口スイッチ通過処理(始動入賞時)において抽出して保存領域にあらかじめ格納しておくのではなく、第2特別図柄の変動開始時に抽出するようにしてもよい。例えば、遊技制御用マイクロコンピュータ560は、変動パターン設定処理において、変動パターン判定用乱数(ランダム3)を生成するための変動パターン判定用乱数カウンタから値を直接抽出するようにしてもよい。
そして、CPU56は、第2保留記憶数が1増加したことを指定する第2保留記憶数加算指定コマンドを演出制御用マイクロコンピュータ100に送信する制御を行う(ステップS207B)。
第2保留記憶数が上限値に達していれば(ステップS201BのY)、CPU56は、RL1ハードラッチ乱数値レジスタ0(RL1HV0)から数値データを抽出し(ステップS208B)、抽出した数値データ(乱数)を格納することなく、第2始動口スイッチ通過処理を終了する。すなわち、この実施の形態では、プログラム管理エリアにおけるRL1ハードラッチ選択レジスタ(RL1LS)のビット3が”0”に設定され(図27でn=1とした場合に相当する)、RL1ハードラッチ乱数値レジスタ0(RL1HV0)から値を読み込まないと次の値をラッチできないように設定されている。そのため、第2保留記憶数が上限値に達している場合であっても、CPU56は、RL1ハードラッチ乱数値レジスタ0(RL1HV0)から数値データを抽出する処理のみを行い(値の格納までは行わない)、RL1ハードラッチ乱数値レジスタ0(RL1HV0)が次の値をラッチできる。
なお、RL1ハードラッチ選択レジスタ0(RL1LS)のビット3を”1”に設定し、RL1ハードラッチ乱数値レジスタ0(RL1HV0)から値を読み込まなくても次の値をラッチできるように設定してもよい。そのようにすれば、ステップS208Bの処理は不要である。
また、この実施の形態では、ステップS205A,S205Bの処理が実行されることによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで異なる乱数値レジスタから乱数値を抽出して格納するようにしている。そのようにすることによって、例えば、乱数更新のスタート値を異ならせたり、乱数列の変更の設定を異ならせたり、乱数最大値の設定を異ならせることによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで乱数値が同期しにくくすることができ、所定の乱数更新タイミングを狙って不正に大当りを発生させるなどの行為をしにくくしている。
なお、この実施の形態では、16ビット乱数回路508bの異なるチャネル(本例では、チャネル0とチャネル1)から乱数値を抽出することによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで乱数を抽出する乱数値レジスタを異ならせるが、この実施の形態で示した態様にかぎられない。例えば、16ビット乱数回路508bの同じチャネルであっても、その同じチャネルで用いる異なるハードラッチ乱数値レジスタから(例えば、同じチャネル0のRL0ハードラッチ乱数値レジスタ0(RL0HV0)とRL0ハードラッチ乱数値レジスタ1(RL0HV1)とから)乱数値を抽出することによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで乱数を抽出する乱数値レジスタを異ならせてもよい。
また、この実施の形態では、ハードラッチ乱数値レジスタから乱数値が抽出されるが、例えば、ソフトラッチ乱数値レジスタから乱数値を抽出するようにしてもよい。乱数値を抽出する場合、16ビット乱数回路508bの異なるチャネルから乱数値を抽出することによって、または同じチャネルであっても異なるソフトラッチ乱数値レジスタから乱数値を抽出することによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで乱数を抽出する乱数値レジスタを異ならせるようにすればよい。
また、この実施の形態では、16ビット乱数回路508bから乱数値が抽出されるが、例えば、8ビット乱数回路508aから乱数値を抽出するようにしてもよい。乱数値を抽出する場合、8ビット乱数回路508aの異なるチャネルから乱数値を抽出することによって、または同じチャネルであっても異なるハードラッチ乱数値レジスタやソフトラッチ乱数値レジスタから乱数値を抽出することによって、第1特別図柄の変動表示を実行する場合と第2特別図柄の変動表示を実行する場合とで乱数を抽出する乱数値レジスタを異ならせるようにすればよい。
なお、この実施の形態では、既に説明したように、遊技制御用マイクロコンピュータ560において、遊技機への電源投入時にステップS1001,S1011の処理がハードウェア回路で実行されて乱数回路508a,508bに関する設定が行われ、その後に、ユーザプログラムの実行中に第1始動口スイッチ通過処理(ステップS312参照)や第2始動口スイッチ通過処理(ステップS314参照)においてステップS205A,S205Bの乱数抽出の処理が実行される。従って、この実施の形態では、乱数回路から数値データ(乱数値)を抽出するタイミングよりも前に、乱数回路の監視に関する設定が行われる。
次に、演出制御手段の動作を説明する。図61は、演出制御基板80に搭載されている演出制御手段としての演出制御用マイクロコンピュータ100(具体的には、演出制御用CPU101)が実行するメイン処理を示すフローチャートである。演出制御用CPU101は、電源が投入されると、メイン処理の実行を開始する。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔(例えば、4ms)を決めるためのタイマの初期設定等を行うための初期化処理を行う(ステップS7001)。その後、演出制御用CPU101は、タイマ割込フラグの監視(ステップS7002)を行うループ処理に移行する。タイマ割込が発生すると、演出制御用CPU101は、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、演出制御用CPU101は、そのフラグをクリアし(ステップS7003)、以下の演出制御処理を実行する。
演出制御処理において、演出制御用CPU101は、まず、受信した演出制御コマンドを解析し、受信した演出制御コマンドに応じたフラグをセットする処理等を行う(コマンド解析処理:ステップS7004)。
また、演出制御用CPU101は、演出制御プロセス処理を行う(ステップS7005)。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(演出制御プロセスフラグ)に対応した処理を選択して演出表示装置9の表示制御を実行する。
また、演出制御用CPU101は、第4図柄プロセス処理を行う(ステップS7006)。第4図柄プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(第4図柄プロセスフラグ)に対応した処理を選択して演出表示装置9の第4図柄表示領域9c,9dにおいて第4図柄の表示制御を実行する。
また、演出制御用CPU101は、大当り図柄決定用乱数などの乱数を生成するためのカウンタのカウント値を更新する乱数更新処理を実行する(ステップS7007)。その後、ステップS7002に移行する。
演出制御用CPU101は、この実施の形態では、所定事象が発生(本例では、IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)したことにもとづいて第1リセット(例えば、システムリセット)を発生させるか第2リセット(例えば、ユーザリセット)を発生させるかを設定可能である(図14に示すリセット設定(KRES)のビット7参照)。そして、第1リセットの発生後にはセキュリティチェックを実行し、第2リセットの発生後にはセキュリティチェックを実行しない。そのため、遊技機や遊技店の状況などに応じて所定事象が発生したときに行うリセットの種類を最適なものに設定できるので、遊技制御用マイクロコンピュータ560に関するセキュリティ性を向上させることができる。
なお、この実施の形態では、所定事象の発生として、IAT506aからのIAT信号を入力した場合と、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力した場合とがあるが、遊技制御用マイクロコンピュータ560をリセットすべき何らかのエラーなどの状況が発生したことにもとづいて、所定事象が発生したとしてリセットしてもよい。
また、この実施の形態では、所定事象の発生には、ウオッチドッグタイマ(WDT)506bのタイムアウトが含まれ、ウオッチドッグタイマ(WDT)506bを起動するか否かをソフトウェアで設定可能である(例えば、図14に示すリセット設定(KRES)のビット3−0に”0000”を設定する。)。そして、ウオッチドッグタイマ(WDT)506bを起動しないように設定した場合であっても、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを設定可能である。具体的には、図14に示すリセット設定(KRES)において、ビット3−0に”0000”を設定していても、ビット7の設定を行うことによってリセットの種類を設定可能である。従って、ウオッチドッグタイマ(WDT)506bの設定にかかわらず、所定事象が発生したことにもとづいて発生させるリセットの種類の設定を共通化することができる。
また、この実施の形態では、所定事象の発生には、指定された領域以外の領域に格納されたプログラムを実行する指定領域外実行(例えば、指定エリア外走行禁止(IAT)が含まれる。そして、遊技制御用マイクロコンピュータ560は、所定の処理として所定時間(例えば、4ms)毎に発生するタイマ割込に応じて実行されるタイマ割込処理(図52に示すタイマ割込処理)の実行中に指定領域外実行が発生(本例では、IAT回路506aからIAT信号を入力)した場合に、RAM55(バックアップRAM)の記憶内容を初期化する(例えば、リセットの後、図51に示すステップS10が実行される)。そのため、意図しないプログラムが実行された場合のセキュリティ性を向上させることができる。
また、この実施の形態では、第1リセットを発生させると設定したときに、所定事象が発生して第1リセットを発生させた後、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを再度設定する。具体的には、図49(A)に示すように、システムリセットが発生したときに、ステップS1005が実行されて、遊技制御用マイクロコンピュータ560の各種設定がハードウェア的に再度実行されることによって、システムリセットとするかユーザリセットとするかが再度設定される。そのため、異常な状態から正常な状態に確実に復旧させることができる。
なお、この実施の形態では、具体的には、所定事象が発生(IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)してシステムリセットが発生した後に、内部リセットの設定が再度設定されるが(図49(A)のステップS1005参照)、ユーザリセットが発生した場合にもステップS1005と同様の処理を実行して内部リセットの設定を再度設定するようにしてもよい。
また、この実施の形態では、16ビット乱数回路508bの数値保持手段(本例では、ハードラッチ乱数値レジスタやソフトラッチ乱数値レジスタ)が保持する数値データを更新するための乱数用クロック信号(例えば、外部クロック信号)の周波数の異常の発生と、数値保持手段が保持する数値データの更新状態とを監視可能な乱数回路監視手段(例えば、更新監視回路537)が備えられている。よって、乱数用クロック信号の周波数の異常の発生を監視するとともに数値データの更新状態も監視できるので、遊技機が搭載する乱数回路(例えば、16ビット乱数回路508b)に関するセキュリティ性を向上させることができる。
また、この実施の形態では、遊技制御用マイクロコンピュータ560が搭載する制御用CPU(この実施の形態では、CPU56)は、第1情報(本例では、データ格納領域の上位アドレス)と第2情報(本例では、データ格納領域の下位アドレス)とにもとづいて、読み出し対象のデータが格納された領域に対応するアドレスを特定し、特定したアドレスに対応する領域から読み出し対象のデータを読み出す。読み出し対象のデータを読み出すときに、格納手段(例えば、Qレジスタ)に格納された特定の値(この実施の形態では、固定値として格納されている「F0H」)にもとづいて第1情報を特定するとともに、制御命令で指定された第2情報(図50に示す例では、LDQコマンド(プログラムされている命令の1つ)で指定された「20H」)を特定する。よって、格納手段(例えば、Qレジスタ)を用いることによって、データ格納領域のアドレスのうちの固定部分(本例では、上位アドレス)を毎回コマンドで指定する必要がなくなるので、データを読み出すために処理命令を行う際に無駄(アドレスの共通部分を指定するプログラムの無駄)が生じないようにすることができる。
また、この実施の形態では、制御用CPU(CPU56)は、遊技機への電力供給が開始された後、RAM55へのアクセスが許可されるタイミングで(図51におけるステップS5参照)、RAM55に設けられた作業領域に対応するアドレスの一部を示す値(本例では、F0H)を特定の値として格納手段(本例では、Qレジスタ)に格納する(図51におけるステップS5A参照)。
なお、この実施の形態では、特定の値の格納の仕方として、(1)RAM55へのアクセスを許可するタイミングで特定の値を格納手段に格納する処理と、(2)常に格納手段に特定の値が格納されている状態としている構成とがある。具体的には、この実施の形態では、ユーザプログラムの実行が開始され図51に示すメイン処理が開始されたときに、ユーザプログラムでQレジスタに初期値F0Hを設定する処理が実行される(ステップS5A参照)とともに、システムリセット時にハードウェア的に初期化されてQレジスタn値が初期値F0Hに自動設定される。例えば、遊技機に対して電源が投入され電力供給が開始されたときに、Qレジスタの下位4ビットは0に初期化されるとともに、上位4ビットは反転回路で反転されて全て値1になることによって、Qレジスタの初期値としてF0Hが自動設定される。ただし、Qレジスタの初期値は、ユーザプログラムの開始時に実行されるユーザプログラムによって設定されてもよいが、遊技機に対して電源が投入され電力供給が開始されたときにハードウェア回路によって自動設定されてもよい。
また、この実施の形態では、遊技機が搭載する遊技制御用マイクロコンピュータ560において制御命令として使用可能なコマンドには、所定のルールに従ってあるレジスタのデータと他の2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行可能なRLDコマンドやRRDコマンド(ともにプログラムされている命令の1つである)がある。例えば、RLDコマンドを用いてレジスタAのデータと2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行した場合、レジスタAの上位4ビットのデータはそのままで、レジスタAの下位4ビットのデータを2バイトのレジスタで指定されたアドレスの下位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットを2バイトのレジスタで指定されたアドレスの上位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットをレジスタAの下位4ビットに移すことが可能である。その場合に、例えば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとして書き込み不能な領域のデータ(例えば、ROMエリアのデータ)を指定すれば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータをそのままにして、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットをレジスタAの下位4ビットに反映させる動作のみを実行させることもできる。
また、例えば、RRDコマンドを用いてレジスタAのデータと2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行した場合、レジスタAの上位4ビットのデータはそのままで、レジスタAの下位4ビットのデータを2バイトのレジスタで指定されたアドレスの上位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットを2バイトのレジスタで指定されたアドレスの下位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットをレジスタAの下位4ビットに移すことが可能である。その場合に、例えば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとして書き込み不能な領域のデータ(例えば、ROMエリアのデータ)を指定すれば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータのデータをそのままにして、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットをレジスタAの下位4ビットに反映させる動作のみを実行させることもできる。
また、遊技機を、予告演出の対象である変動表示が開始されるよりも前に実行される先読み予告演出を実行するように構成してもよい。先読み予告演出を実行するように構成する場合には、例えば、遊技制御用マイクロコンピュータ560は、第1始動入賞口13や第2始動入賞口14への始動入賞が発生したタイミングで第1始動口スイッチ通過処理(ステップS312参照)や第2始動口スイッチ通過処理(ステップS314参照)で始動入賞時の判定を行い、その判定結果を示す入賞時判定結果コマンドを送信する制御を行う。例えば、入賞時判定結果コマンドとして、大当りになるか否かや、小当りになるか否か、大当りの種別の判定結果を示す図柄指定コマンド、および変動パターン種別判定用乱数の値がいずれの判定値の範囲になるかの判定結果(変動パターン種別の判定結果)を示す変動カテゴリコマンドを送信する。従って、新たな始動入賞が発生したタイミングで1タイマ割り込み内で始動入賞時コマンドとして図柄指定コマンド、変動カテゴリコマンド、および保留記憶数加算指定コマンド(第1保留記憶数加算指定コマンド、第2保留記憶数加算指定コマンド)が送信される。
また、第1保留記憶数加算指定コマンドは、第1始動入賞口13に始動入賞したときに送信されるコマンドであるから、この意味で第1始動入賞口13に始動入賞したことを示す第1始動口入賞指定コマンドでもある。また、第2保留記憶数加算指定コマンドは、第2始動入賞口14に始動入賞したときに送信されるコマンドであることから、この意味で第2始動入賞口14に始動入賞したことを示す第2始動口入賞指定コマンドでもある。以下、第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)と第2始動口入賞指定コマンド(第2保留記憶数加算指定コマンド)とを総称して始動口入賞指定コマンドともいう。
以下、先読み予告演出を実行可能に構成する場合の動作を説明する。
図62は、図61に示す演出制御プロセス処理(ステップS7005)の一例を示すフローチャートである。図62に示す演出制御プロセス処理において、演出制御用CPU101は、先読み予告演出の有無や演出態様を決定する先読み予告決定処理を実行する(ステップS161)。
図63は、図62に示す先読み予告決定処理(ステップS161)の一例を示すフローチャートである。図63に示す先読み予告決定処理において、演出制御用CPU101は、まず、始動入賞時にその始動入賞の判定結果にもとづいて送信される始動入賞時コマンドを格納する始動入賞時受信コマンドバッファにおける記憶内容をチェックする(ステップS701)。そして、始動入賞時のコマンドのうち、少なくともいずれかになる新たな受信コマンドがあるか否かを判定する(ステップS702)。例えば、始動入賞時受信コマンドバッファに少なくとも図柄指定コマンド、変動カテゴリコマンドまたは保留記憶数加算指定コマンド(第1保留記憶数加算指定コマンド、第2保留記憶数加算指定コマンド)のうち、いずれかが新たに格納されているか否かを確認することによって受信コマンドの有無を判定できる。いずれのコマンドも新たに受信していなければ(ステップS702:No)、演出制御用CPU101は、先読み予告決定処理を終了する。
ステップS702の処理で受信コマンドがあると判定された場合には(ステップS702:Yes)、演出制御用CPU101は、既に先読み予告演出を実行中であるか否かを判定する(ステップS703)。例えば、ステップS703の処理では、先読み予告演出の実行中であることを示す先読み予告実行中フラグがオンであるときに、先読み予告演出を実行中であると判定すればよい。先読み予告実行中フラグは、先読み予告演出が実行されるときにオン状態にセットされる。
また、既に先読み予告演出を実行中であるときには、さらに先読み予告演出を実行するための処理が行われないようにして、既に決定した演出態様で先読み予告演出が実行される。可変表示態様が「非リーチ」に決定される旨の入賞時判定結果にもとづき先読み予告演出が実行されているときに、可変表示結果が「大当り」に決定される旨の入賞時判定結果やリーチを伴う変動パターンに決定される旨の入賞時判定結果が得られたときには、実行中の先読み予告演出からスーパーリーチや大当りの予告演出へと切り替えてもよい。なお、既に実行されている先読み予告演出の演出態様にかかわらず、さらに先読み予告演出を実行可能にしてもよい。
ステップS703の処理で先読み予告演出の実行中ではないと判定した場合には(ステップS703:No)、演出制御用CPU101は、先読み予告演出の実行が制限される先読み予告制限中であるか否かを判定する(ステップS704)。ステップS704の処理で先読み予告制限中ではないと判定した場合には(ステップS704:No)、演出制御用CPU101は、始動入賞の発生にもとづく受信コマンドの順序と内容をチェックして(ステップS706)、正常に受信できたか否かを判定する(ステップS707)。ステップS707の処理では、例えば始動入賞時の受信コマンドが順番通りであるか否か、欠落なくすべて受信できたか否か、図柄指定コマンドと変動カテゴリコマンドとの内容が整合しているか否かなどの確認を行い、いずれか1つでも否定された場合には、正常に受信できなかったと判定すればよい。なお、いずれか1つでも否定された場合に異常が発生したと判定するものに限定されず、例えばいずれか2つが否定された場合に異常が発生したと判定するようにしてもよい。また、すべてが否定された場合に異常が発生したと判定するようにしてもよい。
ステップS707の処理で正常に受信できたと判定した場合には(ステップS707:Yes)、演出制御用CPU101は、始動入賞時受信コマンドバッファに格納されている前回までの変動カテゴリコマンドをチェックして(ステップS708)、現在の保留記憶数(例えば、第1保留記憶数または第2保留記憶数)が「3」または「4」であり、かつ、前回までの変動カテゴリが非リーチはずれになるもののみであるか否かを判定する(ステップS709)。すなわち、この実施の形態では、可変表示結果が「非リーチはずれ」になる保留データが2つまたは3つある場合には、その保留データを利用して連続予告演出が実行される。
なお、保留記憶数が連続予告演出を実行するのに十分な数である場合には(例えば2以上である場合には)、連続予告演出を実行できるようにしてもよい。例えば、先読み予告パターンSYP3−1(図64参照)の連続予告演出(先読み予告演出)のように、演出態様が変化する予告パターン以外では、一連の演出であることを報知できる保留記憶数である場合に連続予告演出を実行するようにしてもよい。そのように制御する場合には、連続予告演出を総合的な実行頻度を向上させることができる。
また、演出制御用CPU101は、停止図柄予告以外の先読み予告演出を実行する場合には、可変表示結果が「非リーチはずれ」になる保留データが含まれている場合にも、連続予告演出を実行するようにしてもよい。そのように制御する場合には、連続予告演出の実行途中でリーチが発生したり、「大当り」になることがあるので、意外性のある演出を実行できる。可変表示結果が「非リーチはずれ」になる保留データが含まれている場合に連続予告演出を実行するようする場合に、例えば、リーチを伴う可変表示においては、停止図柄予告以外の演出態様の連続予告演出が選択されるようにすればよい。そのように制御する場合には、先読みの対象である可変表示が実行される前の表示結果に関わらず連続予告演出を実行することができる。
例えば、演出制御用CPU101は、ステップS708の処理で、最新の変動カテゴリコマンドよりも1つ前までに受信して始動入賞時受信コマンドバッファに格納されているデータの数、及び、変動カテゴリコマンドで指定された変動カテゴリを読み取る。また、ステップS709の処理で、ステップS708における読取結果によって、データの数が「3」または「4」であるか、非リーチはずれに対応した変動カテゴリを指定する変動カテゴリコマンドのみであるか否かを判定する。
演出制御用CPU101は、ステップS709の処理で、現在の保留記憶数が「3」または「4」であり、かつ、り、かつ、前回までの変動カテゴリが非リーチはずれになるもののみであると判定した場合には(ステップS709:Yes)、先読み予告演出を実行するか否かと、先読み予告演出を実行する場合における先読み予告演出の演出態様に対応した先読み予告パターンとを決定する(ステップS710)。
演出制御用CPU101は、一例として、ステップS710の処理において、先読み予告演出の有無と先読み予告パターンとを決定するための使用テーブルとして、あらかじめ用意された先読み予告決定テーブルを選択する。先読み予告決定テーブルにおいて、予告対象である可変表示に対応する始動入賞の発生にもとづいて送信された変動カテゴリコマンドの指定内容などに応じて、先読み予告種別決定用の乱数値と比較される数値(決定値)が、先読み予告演出を実行しない場合に対応する「実行しない(実行せず)」の決定結果や、先読み予告演出を実行する場合における複数の先読み予告パターンなどに、割り当てられていればよい。その後、演出制御用CPU101は、例えば、先読み予告決定用の乱数値を示す数値データを抽出し、その数値データにもとづいて、先読み予告決定テーブルを参照することによって、先読み予告演出の有無と先読み予告パターンとを決定すればよい。
演出制御用CPU101は、ステップS710の処理では、例えば図64に示すような決定割合で、先読み予告演出の有無と先読み予告パターンとを決定する。図64に示す設定例では、変動カテゴリに応じて、先読み予告演出の有無や先読み予告パターンの決定割合が異なっている。
また、この実施の形態では、先読み予告パターンとして、SYP1−1、SYP1−2、SYP2−1、SYP3−1の4種類が設けられている。先読み予告パターンSYP1−1及びSYP1−2は、予告の対象である可変表示が実行されるまでの複数回の可変表示渡って演出表示装置9にあらかじめ定められた連続演出用のチャンス目を構成する飾り図柄が停止する停止図柄予告に対応した先読み予告パターンである。先読み予告パターンSYP1−1にもとづく停止図柄予告では、連続演出用のチャンス目として、図65(A)に示すチャンス目CA1〜CA8(チャンス目A)のいずれかが停止する。チャンス目Aは、図65(A)に示すように、左図柄と中図柄が同じ数字であり、右図柄のみが1つずれた数字の組合せとなっている。また、先読み予告パターンSYP1−2にもとづく停止図柄予告では、連続演出用のチャンス目として、図65(B)に示すチャンス目CB1〜CB6(チャンス目B)のいずれかが停止する。チャンス目Bは、図65(B)に示すように、並び数字の組合せとなっている。この実施の形態では、後述するように、チャンス目Aが停止する停止図柄予告が実行された場合よりも、チャンス目Bが停止する停止図柄予告が実行された場合の方が、大当りになる可能性(大当り信頼度)が高くなっている。そのように構成されているので、停止図柄予告が実行されるときに、いずれのチャンス目が停止したかに遊技者を注目させることができ、遊技の興趣が向上する。
なお、チャンス目Aやチャンス目Bは、図65(A)、(B)に示す例に限定されず、それぞれが区別可能なあらかじめ定められた組合せであればよい。例えばチャンス目Aを通常図柄(非確変図柄)である偶数の数字の任意の組合せとして、チャンス目Bを確変図柄である奇数の数字の任意の組合せとしてもよい。このようにすることで、遊技者がいずれのチャンス目であるかを認識しやすくなる。
先読み予告パターンSYP2−1は、予告の対象である可変表示が実行されるより前の可変表示中に、演出表示装置9における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象である可変表示が実行されるまでその特殊な背景画像の表示が継続する背景変化予告を実行することに対応する先読み予告パターンである。
先読み予告パターンSYP3−1は、チャンス目Aが停止する停止図柄予告が実行された後に、背景変化予告に変化する先読み予告演出を実行することに対応する先読み予告パターンである。
図64に示すように、この実施の形態では、変動カテゴリが「非リーチはずれ」、「リーチはずれ」、「突確・小当り」、「大当り」のいずれであるかによって先読み予告演出が実行される割合、先読み予告パターンの決定割合が異なっている。
具体的には、変動カテゴリが「リーチはずれ」である場合には、「非リーチはずれ」である場合よりも、先読み予告演出が実行される割合(「実行あり」以外に決定される割合)が高くなっており、変動カテゴリが「大当り」である場合には、「非リーチはずれ」、「リーチはずれ」、「突確・小当り」である場合よりも、先読み予告演出が実行される割合が高くなっている。このような設定によって、先読み予告演出を実行することで、可変表示結果が「大当り」になることやリーチが実行されることを予告・示唆することができる。なお、変動カテゴリが「突確・小当り」である場合には、先読み予告演出が実行されたにも関わらず、実質的には出玉(賞球)が得られない「突確」や実質的には出玉(賞球)が得られないことに加えて遊技状態も変化しない「小当り」となって遊技者を落胆させてしまうことを防止するため、先読み予告演出を実行しないようにしてもよい。
また、図64に示す決定割合では、チャンス目Aが停止する先読み予告パターンSYP1−1の先読み予告演出が実行された場合よりも、チャンス目Bが停止する先読み予告パターンSYP1−2の先読み予告演出が実行された場合の方が、可変表示結果が「大当り」になる割合(大当り信頼度)やリーチが実行される割合(リーチ信頼度)が高くなっている。このように、チャンス目の種別によって大当り信頼度やリーチ信頼度が異なるので、遊技者が停止図柄に注目するようになり、遊技の興趣が向上する。
また、先読み予告パターンSYP1−1や先読み予告パターンSYP1−2といった停止図柄予告の先読み予告演出が実行された場合よりも、背景変化予告の先読み予告パターンSYP2−1の先読み予告演出が実行された場合の方が、大当り信頼度やリーチ信頼度が高くなっている。
また、先読み予告パターンSYP1−1や先読み予告パターンSYP1−2といった停止図柄予告の先読み予告演出が実行された場合よりも、停止図柄予告から背景変化予告に変化する先読み予告パターンSYP3−1の先読み予告演出が実行された場合の方が、大当り信頼度やリーチ信頼度が高くなっている。
このように、大当り信頼度やリーチ信頼度が低い停止図柄予告の先読み予告演出が実行された場合であっても、大当り信頼度やリーチ信頼度が高い背景変化予告に変化する場合があるので、停止図柄予告が実行された場合であっても、遊技者は背景変化予告に変化することを期待するようになり、遊技者の期待感を維持することができ、遊技の興趣が向上する。
特に、先読み予告パターンSYP3−1の先読み予告演出は、大当り信頼度やリーチ信頼度が最も低い先読み予告パターンSYP1−1と同一の演出態様(チャンス目Aが停止する演出態様)から背景変化予告に変化するようになっている。これによって、大当り信頼度やリーチ信頼度が最も低い、チャンス目Aが停止する先読み予告演出が実行された場合でも、遊技者の期待感を維持することができ、遊技の興趣が向上する。
なお、この実施の形態では、チャンス目Aが停止する停止図柄予告から背景変化予告に変化する場合があるが、チャンス目Bが停止する停止図柄予告から背景変化予告に変化しない(変化する割合が0%)。しかし、チャンス目Bが停止する停止図柄予告から背景変化予告に変化する場合があるようにしてもよい。その場合には、チャンス目Aが停止する停止図柄予告が実行された場合と、チャンス目Bが停止する停止図柄予告が実行された場合と、で背景変化予告に変化する割合が異なるようにすればよい。具体的には、背景変化予告に変化しなかった場合の大当り信頼度やリーチ信頼度が低いチャンス目Aが停止する停止図柄予告からの方が、背景変化予告に変化しやすいようにすることが好ましい。このようにすることで、大当り信頼度やリーチ信頼度が低い停止図柄予告が実行された場合でも、遊技者の期待感を維持することができ、遊技の興趣が向上する。
また、先読み予告パターンSYP2−1の先読み予告演出が実行された場合よりも、先読み予告パターンSYP3−1の先読み予告演出が実行された場合の方が、大当り信頼度やリーチ信頼度が高くなっている。このような設定によって、遊技者は背景変化予告に変化することをより期待するようになり、遊技者の期待感をより維持することができ、遊技の興趣が向上する。
なお、遊技状態が大当り遊技状態や小当り遊技状態であるときには、先読み予告演出を実行しないように制限してもよい。大当り遊技状態であるか否かは、例えば演出プロセスフラグの値が「6」または「7」のいずれかであるか否かに対応して、判定することができる。また、小当り遊技状態であるか否かは、例えば演出プロセスフラグの値が「4」または「5」のいずれかであるか否かに対応して、判定することができる。
遊技状態が大当り遊技状態や小当り遊技状態であるときでも、先読み予告演出を実行可能にしてもよい。例えば始動入賞の発生にもとづいて始動入賞時のコマンドを受信した後、大当り遊技状態におけるラウンドの実行回数が所定回数(例えば「10」)となったときに、始動入賞時受信コマンドバッファに格納されている図柄指定コマンドや変動カテゴリコマンドを読み出して先読み予告演出を実行するか否かを決定し、そのラウンドを実行中に先読み予告演出を実行するようにしてもよい。その場合、先読み予告演出として、連続した態様の演出ではなく、例えば、今回の大当り遊技状態の終了後に可変表示結果が「大当り」になることを確定的に報知する一発告知態様の演出を実行してもよい。
演出制御用CPU101は、図63に示すステップS710の処理による決定にもとづいて、先読み予告演出を実行しない「実行せず」であるか否かを判定する(ステップS711)。「実行せず」以外である場合には(ステップS711:No)、決定した先読み予告パターンに応じた先読み予告演出の実行を開始するための設定を行う(ステップS712)。ステップS712では、演出制御用CPU101は、先読み予告演出を実行する可変表示の回数を示す先読み予告実行回数カウンタに保留記憶数(第1保留記憶数、第2保留記憶数)をカウント初期値として設定し、例えば先読み予告実行中フラグをオン状態にセットするといった、先読み予告演出が実行中であることに対応した設定を行う。また、演出制御用CPU101は、ステップS710の処理で決定された先読み予告パターンや、現在の保留記憶数(第1保留記憶数、第2保留記憶数)に対応した先読み予告演出制御パターンをセットする。
図66は、先読み予告演出制御パターンの一覧を示す説明図である。図66に示すように、先読み予告パターンSYP1−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が3であることに対応した先読み予告演出制御パターンSCP1−1と、先読み予告パターンSYP1−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が4であることに対応した先読み予告演出制御パターンSCP1−2と、先読み予告パターンSYP1−2であって保留記憶数(第1保留記憶数、第2保留記憶数)が3であることに対応した先読み予告演出制御パターンSCP2−1と、先読み予告パターンSYP1−2であって保留記憶数(第1保留記憶数、第2保留記憶数)が4であることに対応した先読み予告演出制御パターンSCP2−2と、先読み予告パターンSYP2−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が3であることに対応した先読み予告演出制御パターンSCP3−1と、先読み予告パターンSYP2−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が4であることに対応した先読み予告演出制御パターンSCP3−2と、先読み予告パターンSYP3−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が3であることに対応した先読み予告演出制御パターンSCP4−1と、先読み予告パターンSYP3−1であって保留記憶数(第1保留記憶数、第2保留記憶数)が4であることに対応した先読み予告演出制御パターンSCP4−2とが設けられている。各先読み予告演出制御パターンは、図66に示すように、先読み予告演出を開始してからの各変動において実行する演出内容に対応した制御データを含む。
なお、図66に示すように、先読み予告パターンSYP3−1である場合には、先読み予告演出が開始されてから2変動目において、背景変化予告が実行される。しかし、先読み予告演出の対象である変動時や先読み予告演出の対象である変動の1回前の変動時に背景変化予告が実行されるようにしてもよい。例えば、先読み予告パターンSYP3−1に決定された場合には、背景変化予告を実行するタイミングをさらに決定するようにして、その決定結果に応じた先読み予告演出制御パターンを選択するようにすればよい。その場合、先読み予告演出の対象である変動の表示結果(変動カテゴリ)に応じて、背景変化予告を実行するタイミングの決定割合を異ならせてもよい。そのように制御することによって、停止図柄予告の先読み予告演出が実行された後、背景変化予告が実行されるタイミングによって、大当り信頼度やリーチ信頼度を異ならせることができる。
演出制御用CPU101は、ステップS712の処理を実行した後や、ステップS703の処理で先読み予告演出の実行中であると判定したとき(ステップS703:Yes)、ステップS704の処理で先読み予告制限中であると判定したとき(ステップS704:Yes)、ステップS709の処理で現在の保留記憶数(第1保留記憶数、第2保留記憶数)が「3」または「4」でないと判定したとき、もしくは、前回までの変動カテゴリが非リーチはずれになるもののみでないと判定したとき(ステップS709:No)、または、ステップS711の処理で「実行せず」と判定したときには(ステップS711:Yes)、始動入賞時受信コマンドバッファに格納されている最新の始動口入賞指定コマンドが第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)であるか否かを判定する(ステップS713)。
演出制御用CPU101は、ステップS713の処理で第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)が受信されたと判定したときには(ステップS713:Yes)、第1保留記憶表示部18cにおける保留表示として、第1特図(第1特別図柄)を用いた特図ゲーム(図柄の可変表示)が新たに保留されたことに対応する表示部位を更新する制御を行う(ステップS714)。ステップS714では、演出制御用CPU101は、第1保留記憶表示部18cにおける保留表示を通常の表示態様(例えば丸型の白色表示)で更新する制御を行う。その後、先読み予告決定処理を終了する。
演出制御用CPU101は、ステップS713の処理で第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)ではないと判定した場合には(ステップS713:No)、第2保留記憶表示部18dにおける保留表示として、第2特図(第2特別図柄)を用いた特図ゲームが新たに保留されたことに対応する表示部位を更新する制御を行う(ステップS715)。ステップS715では、演出制御用CPU101は、第2保留記憶表示部18dにおける保留表示を通常の表示態様(例えば丸型の白色表示)で更新する制御を行う。その後、先読み予告決定処理を終了する。
演出制御用CPU101は、ステップS707の処理で始動入賞時のコマンドを正常に受信できなかったと判定したときには(ステップS707:No)、始動入賞時受信コマンドバッファにおける最新のコマンドに対応して、未判定情報をセットする(ステップS731)。例えば、始動入賞時受信コマンドバッファにおけるバッファ番号ごとに、未判定情報の格納領域を設け、最新のコマンドに対応するバッファ番号の未判定情報を「1」(またはオン状態)にセットする。
演出制御用CPU101は、ステップS731の処理を実行した場合には、第1保留記憶表示部18cおよび第2保留記憶表示部18dにおける保留表示として、第1保留記憶数や第2保留記憶数を示す表示部位を、共通の非正常時の表示態様(例えば丸型の灰色表示)に変更して、新たに保留されたことに対応する表示部位も共通の非正常時の表示態様で表示する(ステップS732)。非正常時の表示態様は、通常の表示態様や特別な表示態様であるときとは表示部位の表示色や表示形状、表示キャラクタなどの一部または全部が異なり、始動入賞時のコマンドを受信し損なったことを認識可能に報知可能な態様である。なお、新たに保留されたことに対応する表示部位のみを非正常時の表示態様とするが、その他の表示部位における表示態様は変更しなくてもよい。
演出制御用CPU101は、ステップS732の処理を実行した後、先読み予告制限中の設定(例えば先読み予告制限フラグをオン状態にセット)を行い(ステップS733)、先読み予告決定処理を終了する。
以上のように、演出制御用CPU101は、先読み予告決定処理において、ステップS707の処理で始動入賞時のコマンドを正常に受信できなかったと判定した場合には、ステップS710の処理を実行しないようにして、先読み予告演出の実行を制限する。
演出制御用CPU101は、始動入賞の発生時における判定結果を認識可能に指定する判定結果情報(例えば、図柄指定コマンドや変動カテゴリコマンド)の一部または全部を受信し損なったときには、その保留記憶に対応する可変表示の実行が終了するまで、先読み予告演出を実行しないように制限してもよい。その場合には、先読み予告演出と可変表示結果との整合が取れなくなることを防止して、遊技者に不信感を与えないようにすることができる。
また、演出制御用CPU101は、判定結果情報の一部を受信し損なった場合に、その他の判定結果情報によって判定結果を認識可能な場合であっても、その判定結果にもとづく先読み予告演出を実行しないように制限してもよい。その場合には、信憑性の低い情報にもとづいて先読み予告演出が実行されることを防止して、遊技者に不信感を与えないようにすることができる。
また、演出制御用CPU101は、複数の判定結果情報から認識可能な判定結果が整合しない場合に、いずれかの判定結果情報によって認識可能な判定結果にもとづく先読み予告演出を実行しないように制限してもよい。その場合には、信憑性の低い情報にもとづいて先読み予告演出が実行されることを防止して、遊技者に不信感を与えないようにすることができる。
また、演出制御用CPU101は、第2特図を用いた特図ゲームが第1特図を用いた特図ゲームよりも優先して実行される場合に、時短制御に伴う高開放制御が行われる高ベース状態であるときには、第1始動入賞口を遊技球が通過(進入)したことによる始動入賞(第1始動入賞)の発生にもとづく先読み予告演出を実行しないように制限してもよい。高開放制御が行われているときには、第2始動入賞口に遊技球を通過(進入)させて優先的に実行される第2特図を用いた特図ゲームを実行し続けることが可能になる。すると、大当り遊技状態の終了前から第1特図を用いた特図ゲームの保留データにもとづいて先読み予告演出の実行を開始して、大当り遊技状態の終了後にも継続して先読み予告演出を実行すると、可変表示結果が「大当り」になる保留データなどを保持した状態で多数回の可変表示を継続して実行することができ、第2特図を用いた特図ゲームを実行して可変表示結果が「大当り」になり、大当り遊技状態へと繰り返し制御されることになってパチンコ遊技機1の射幸性が高くなるおそれがある。
さらに、遊技者が第1特図を用いた特図ゲームで可変表示結果が「大当り」になることを認識しながら、第2始動入賞口に遊技球を繰り返し通過(進入)させて第2特図を用いた特図ゲームを繰り返し実行するか、第2始動入賞口に遊技球を通過(進入)させずに第1特図を用いた特図ゲームを実行するかによって、可変表示結果が「大当り」になり大当り遊技状態へと制御されるタイミングを、遊技者の技量によって大きく変化させられるおそれがある。そこで、高ベース状態であるときには第1始動入賞の発生にもとづく先読み予告演出の実行を制限することによって、第1特図を用いた特図ゲームに対応して可変表示結果が「大当り」になる可能性があることを遊技者が認識できないようにして、健全な遊技性を確保することができる。
さらに、演出制御用CPU101は、高ベース状態であるときに保留記憶情報(例えば、始動口入賞指定コマンド)の一部または全部を受信し損なった場合には、たとえ図柄指定コマンドや変動カテゴリコマンドといった判定結果情報を正常に受信したとしても、先読み予告演出を実行しないように制限してもよい。その場合には、第1特図を用いた特図ゲームに対応して可変表示結果が「大当り」になる可能性があることを遊技者が認識できてしまうことを防止して、健全な遊技性を確保することができる。
また、演出制御用CPU101は、保留記憶情報(例えば、始動口入賞指定コマンド)の一部を受信し損なった場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行してもよい。その場合には、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
また、演出制御用CPU101は、判定結果情報(例えば、図柄指定コマンドや変動カテゴリコマンド)の一部を受信し損なった場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行してもよい。その場合には、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
また、演出制御用CPU101は、複数の判定結果情報から認識可能な判定結果が整合しない場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行してもよい。その場合には、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
演出制御用CPU101は、先読み予告決定処理(ステップS161)を実行した後、先読み予告制限解除設定処理を実行する(ステップS162)。先読み予告制限解除設定処理では、先読み予告演出を実行しないように制限される先読み予告制限中であるときに、所定条件の成立にもとづき制限を解除するための処理や、実行中の先読み予告演出が終了したことに応じて、新たな先読み予告演出を実行可能とするための処理が実行される。例えば、先読み予告実行中フラグがオン状態である場合には、変動が開始されるごとに、予告残回数カウンタの値を1減算していき、予告残回数カウンタの値が0になったときに、先読み予告実行中フラグをオフ状態にリセットする。
また、演出制御用CPU101は、先読み予告制限フラグがオン状態である場合には、始動入賞時受信コマンドバッファにおいてバッファ番号が「1」〜「8」のそれぞれに対応して有効に格納された始動入賞時のコマンドについて、すべての順序と内容が正しくなるように受信できたことを条件に、先読み予告演出が実行されないようにした制限を解除する(例えば、先読み予告制限フラグをクリアする。)。なお、コマンドの未受信(送信側では送信したにも関わらず)や判定結果の不整合が生じた保留記憶が消化されたことを条件に、先読み予告演出が実行されないようにした制限を解除するようにしてもよい。
演出制御用CPU101は、先読み予告制限解除設定処理(ステップS162)を実行した後、演出プロセスフラグの値に応じて、ステップS170〜S177の処理のいずれかを選択して実行する。
ステップS170の可変表示開始待ち処理は、演出プロセスフラグの値が“0”のときに実行される処理である。この可変表示開始待ち処理は、主基板31からの第1変動開始コマンドまたは第2変動開始コマンドを受信したか否かにもとづいて、演出表示装置9における飾り図柄の可変表示を開始するか否かを判定する処理などを含んでいる。
ステップS171の可変表示開始設定処理は、演出プロセスフラグの値が“1”のときに実行される処理である。この可変表示開始設定処理は、第1特別図柄表示器8aや第2特別図柄表示器8bによる特図ゲームにおいて特別図柄の可変表示が開始されることに対応して、演出表示装置9における飾り図柄の可変表示や、その他の各種演出を行うために、特別図柄の変動パターンや表示結果の種類などに応じた確定飾り図柄や各種の演出制御パターンを決定する処理などを含んでいる。
ステップS172の可変表示中演出処理は、演出プロセスフラグの値が“2”のときに実行される処理である。この可変表示中演出処理において、演出制御用CPU101は、演出制御プロセスタイマにおけるタイマ値に対応して、演出制御パターンから各種の制御データを読み出し、飾り図柄の可変表示中における各種の演出制御を行う。演出制御を行った後、例えば特図変動時演出制御パターンから飾り図柄の可変表示終了を示す終了コードが読み出されたこと、または、主基板31から伝送される図柄確定コマンドを受信したことなどに対応して、飾り図柄の可変表示結果(最終停止図柄)としての確定飾り図柄を完全停止表示させる。特図変動時演出制御パターンから終了コードが読み出されたことに対応して確定飾り図柄を完全停止表示させるようにすれば、変動パターン指定コマンド(変動パターンコマンド)で指定された変動パターンに対応する可変表示時間が経過したときに、主基板31からの演出制御コマンドによらなくても、演出制御基板80の側で自律的に確定飾り図柄を導出表示して可変表示結果を確定させることができる。確定飾り図柄を完全停止表示したときには、演出プロセスフラグの値が“3”に更新される。
ステップS173の特図当り待ち処理は、演出プロセスフラグの値が“3”のときに実行される処理である。この特図当り待ち処理において、演出制御用CPU101は、主基板31から伝送された当り開始指定コマンドの受信があったか否かを判定する。そして、当り開始指定コマンドを受信したきに、その当り開始指定コマンドが大当り遊技状態の開始を指定するものである場合には、演出プロセスフラグの値を大当り中演出処理に対応した値である“6”に更新する。当り開始指定コマンドを受信したときに、その当り開始指定コマンドが小当り遊技状態の開始を指定するものである場合には、演出プロセスフラグの値を小当り中演出処理に対応した値である“4”に更新する。また、当り開始指定コマンドを受信せずに、演出制御プロセスタイマがタイムアウトしたときには、特図ゲームにおける特図表示結果が「はずれ」であったと判断して、演出プロセスフラグの値を初期値である“0”に更新する。
ステップS174の小当り中演出処理は、演出制御プロセスフラグの値が“4”のときに実行される処理である。この小当り中演出処理において、演出制御用CPU101は、例えば小当り遊技状態における演出内容に対応した演出制御パターン等を設定し、その設定内容にもとづく演出画像を演出表示装置9の表示画面に表示させることや、音声出力基板70に対する指令(効果音信号)にもとづいてスピーカ27から音声や効果音を出力させること、ランプドライバ基板35に対する指令(電飾信号)の出力にもとづいて枠LED28や装飾LED25を点灯/消灯/点滅させることといった、小当り遊技状態における各種の演出制御を実行する。また、小当り中演出処理では、例えば主基板31からの当り終了指定コマンドを受信したことに対応して、演出プロセスフラグの値を小当り終了演出に対応した値である“5”に更新する。
ステップS175の小当り終了演出処理は、演出制御プロセスフラグの値が“5”のときに実行される処理である。この小当り終了演出処理において、演出制御用CPU101は、例えば小当り遊技状態の終了などに対応した演出制御パターン等を設定し、その設定内容にもとづく演出画像を演出表示装置9の表示画面に表示させることや、音声出力基板70に対する指令(効果音信号)の出力にもとづいてスピーカ27から音声や効果音を出力させること、ランプドライバ基板35に対する指令(電飾信号)の出力にもとづいて枠LED28や装飾LED25を点灯/消灯/点滅させることといった、小当り遊技状態の終了時における各種の演出制御を実行する。その後、演出プロセスフラグの値を初期値である“0”に更新する。
ステップS176の大当り中演出処理は、演出プロセスフラグの値が“6”のときに実行される処理である。この大当り中演出処理において、演出制御用CPU101は、例えば大当り遊技状態における演出内容に対応した演出制御パターン等を設定し、その設定内容にもとづく演出画像を演出表示装置9の表示画面に表示させることや、音声出力基板70に対する指令(効果音信号)の出力にもとづいてスピーカ27から音声や効果音を出力させること、ランプドライバ基板35に対する指令(電飾信号)の出力にもとづいて枠LED28や装飾LED25を点灯/消灯/点滅させることといった、大当り遊技状態における各種の演出制御を実行する。また、大当り中演出処理では、例えば主基板31からの当り終了指定コマンドを受信したことに対応して、演出制御プロセスフラグの値をエンディング演出処理に対応した値である“7”に更新する。
ステップS177のエンディング演出処理は、演出プロセスフラグの値が“7”のときに実行される処理である。このエンディング演出処理において、演出制御用CPU101は、例えば大当り遊技状態の終了などに対応した演出制御パターン等を設定し、その設定内容にもとづく演出画像を演出表示装置9の表示画面に表示させることや、音声出力基板70に対する指令(効果音信号)の出力にもとづいてスピーカ27から音声や効果音を出力させること、ランプドライバ基板35に対する指令(電飾信号)の出力にもとづいて枠LED28や装飾LED25を点灯/消灯/点滅させることといった、大当り遊技状態の終了時における各種の演出制御を実行する。その後、演出プロセスフラグの値を初期値である“0”に更新する。
図67は、可変表示開始設定処理(ステップS171)の一例を示すフローチャートである。可変表示開始設定処理において、演出制御用CPU101は、例えば主基板31から伝送された可変表示結果通知コマンド(表示結果指定コマンド)(表示結果指定コマンド)におけるEXTデータにもとづいて、特図表示結果が「はずれ」になるか否かを判定する(ステップS522)。特図表示結果が「はずれ」になる旨の判定がなされたときには(ステップS522:Yes)、演出制御用CPU101は、例えば主基板31から伝送された変動パターン指定コマンド(変動パターンコマンド)におけるEXTデータにもとづいて、指定された変動パターンが飾り図柄の可変表示態様を「非リーチ」とする場合に対応した非リーチ変動パターンであるか否かを判定する(ステップS523)。
演出制御用CPU101は、ステップS523の処理で非リーチ変動パターンであると判定した場合には(ステップS523:Yes)、非リーチ組合せを構成する最終停止図柄である確定飾り図柄の組合せを決定する(ステップS524)。一例として、演出制御用CPU101は、ステップS524の処理では、演出制御用CPU101は、ランダムカウンタ等で更新される左確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の左確定図柄決定テーブルを参照して、確定飾り図柄のうち演出表示装置9の表示領域における「左」の演出図柄表示領域9Lに停止表示される左確定飾り図柄を決定する。
次いて、演出制御用CPU101は、ランダムカウンタ等で更新される右確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の右確定図柄決定テーブルを参照して、確定飾り図柄のうち演出表示装置9の表示領域における「右」の演出図柄表示領域9Rに停止表示される右確定飾り図柄を決定する。このときには、右確定図柄決定テーブルにおける設定にもとづいて、右確定飾り図柄の図柄番号が左確定飾り図柄の図柄番号とは異なるように決定すればよい。続いて、ランダムカウンタ等で更新される中確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の中確定図柄決定テーブルを参照して、確定飾り図柄のうち演出表示装置9の表示領域における「中」の演出図柄表示領域9Cに停止表示される中確定飾り図柄を決定する。なお、ステップS524の処理では、変動図柄予告を実行中である場合に対応して、所定のチャンス目図柄である非リーチ組合せの確定飾り図柄を決定すればよい。
演出制御用CPU101は、ステップS523の処理で非リーチ変動パターンではないと判定した場合には(ステップS523:No)、リーチ組合せを構成する確定飾り図柄の組合せを決定する(ステップS525)。一例として、演出制御用CPU101は、ステップS525の処理では、まず、ランダムカウンタ等で更新される左右確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の左右確定図柄決定テーブルを参照して、確定飾り図柄のうち演出表示装置9の表示領域における「左」と「右」の演出図柄表示領域9L、9Rにおいて揃って停止表示される図柄番号が同一の飾り図柄を決定する。さらに、ランダムカウンタ等で更新される中確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の中確定図柄決定テーブルを参照して、確定飾り図柄のうち演出表示装置9の表示領域における「中」の演出図柄表示領域9Cにおいて停止表示される中確定飾り図柄を決定する。なお、例えば中確定飾り図柄の図柄番号が左確定飾り図柄及び右確定飾り図柄の図柄番号と同一になる場合のように、確定飾り図柄が大当り組合せになる場合には、例えば、任意の値(例えば「1」)を中確定飾り図柄の図柄番号に加算または減算して、確定飾り図柄が大当り組合せになならないリーチ組合せにする。また、中確定飾り図柄を決定するときには、左確定飾り図柄及び右確定飾り図柄の図柄番号との差分(図柄差)を決定し、その図柄差に対応する中確定飾り図柄を設定してもよい。
演出制御用CPU101は、ステップS522の処理で特図表示結果が「はずれ」ではないと判定した場合には(ステップS522:No)、特図表示結果が「大当り」で大当り種別が「突確」である場合、または、特図表示結果が「小当り」である場合であるか、これら以外の場合であるかを判定する(ステップS526)。演出制御用CPU101は、「突確」または「小当り」であると判定したときには(ステップS526:Yes)、例えば開放チャンス目といった、「突確」の場合や「小当り」の場合に対応した確定飾り図柄の組合せを決定する(ステップS527)。一例として、演出制御用CPU101は、変動パターン指定コマンド(変動パターンコマンド)で突確/小当り用のいずれの変動パターンが指定された場合に対応して、複数種類の開放チャンス目のうち、いずれかを構成する確定飾り図柄の組合せを決定する。演出制御用CPU101は、例えば、ランダムカウンタ等で更新されるチャンス目決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定のチャンス目決定テーブルを参照することによって、開放チャンス目のいずれかを構成する確定飾り図柄の組合せを決定する。また、変動パターン指定コマンド(変動パターンコマンド)でリーチを指定するいずれかの変動パターンが指定された場合には、例えばステップS525と同様の処理を実行することによって、リーチ組合せを構成する確定飾り図柄の組合せを決定すればよい。
演出制御用CPU101は、ステップS526の処理で「突確」または「小当り」以外の「非確変」または「確変」であると判定したときには(ステップS526:No)、大当り組合せを構成する確定飾り図柄の組合せを決定する(ステップS528)。一例として、演出制御用CPU101は、ステップS528の処理では、まず、ランダムカウンタで更新される大当り確定図柄決定用の乱数値を示す数値データを抽出し、ROMにあらかじめ記憶された所定の大当り確定図柄決定テーブルを参照して、演出表示装置9の画面上で「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rに揃って停止表示される図柄番号が同一の飾り図柄を決定する。このとき、大当り種別が「非確変」、「確変」のいずれであるかや、大当り中における昇格演出の有無などに応じて、異なる飾り図柄を確定飾り図柄に決定するようにしてもよい。
具体的には、演出制御用CPU101は、大当り種別が「非確変」である場合には、複数種類の通常図柄のうちいずれか1つの飾り図柄を選択し、非確変大当り組合せを構成する確定飾り図柄に決定する。また、大当り種別が「確変」である場合には、複数種類の通常図柄または確変図柄のうちからいずれか1つの飾り図柄を選択して、非確変大当り組合せまたは確変大当り組合せを構成する確定飾り図柄に決定する。非確変大当り組合せの確定飾り図柄に決定された場合には、可変表示中の再抽選演出において確変状態に制御される旨の報知が行われず、例えば大当り遊技状態に対応して実行される大当り中昇格演出で確変状態に制御される旨が報知されればよい。また、確変大当り組合せの確定飾り図柄に決定された場合には、可変表示中の再抽選演出において、または再抽選演出を実行することなく、確変状態に制御される旨の報知が行われる。
演出制御用CPU101は、ステップS524、S525、S527、S528の処理のいずれかを実行した後に、先読み予告実行設定処理を実行する(ステップS535)。図69は、先読み予告実行設定処理の一例を示すフローチャートである。図69に示す先読み予告実行設定処理において、演出制御用CPU101は、まず、先読み予告実行中フラグがオン状態であるか否かを判定する(ステップS601)。先読み予告実行中フラグがオフ状態である場合には(ステップS601:No)、先読み予告実行設定処理を終了する。
演出制御用CPU101は、先読み予告実行中フラグがオン状態である場合には(ステップS601:Yes)、先読み予告実行回数カウンタの値を1減算する(ステップS602)。そして、先読み予告実行回数カウンタの値とセットされている先読み予告演出制御パターンにもとづいて、先読み予告演出を実行するための設定を行う(ステップS603)。ステップS603の処理では、演出制御用CPU101は、図66に示す演出内容に対応した先読み予告演出を実行するための設定を行えばよい。また、停止図柄予告を実行する先読み予告演出制御パターンである場合には、演出制御用CPU101は、図65に示すチャンス目のいずれを停止させるかを決定する処理を実行すればよい。その場合、図67のステップS524で決定された非リーチ組合せに代えて、チャンス目Aまたはチャンス目Bを停止表示する制御が実行される。
背景変化予告を実行する先読み予告演出制御パターンである場合には、演出制御用CPU101は、図67のステップS524の処理で決定された非リーチ組合せを停止表示する制御を実行する。なお、演出制御用CPU101は、停止図柄予告を実行する先読み予告演出制御パターンである場合には、図67のステップS524で非リーチ組合せを決定する処理に代えて、停止表示させるチャンス目Aまたはチャンス目Bを決定する処理を実行するようにしてもよい。また、図67のステップS524の処理の前に、先読み予告実行設定処理を実行するようにして、停止表示させるチャンス目が決定されている場合には、図67のステップS524の処理を実行しないようにしてもよい。そのように制御する場合には、停止図柄を決定する処理の重複を避けることができる。
続いて、演出制御用CPU101は、先読み予告実行回数カウンタの値が0であるか否かを判定する(ステップS604)。先読み予告実行回数カウンタの値が0でなければ(ステップS604:No)、先読み予告実行設定処理を終了する。
先読み予告実行回数カウンタの値が0である場合には(ステップS604:Yes)、演出制御用CPU101は、先読み予告実行中フラグをオフ状態にクリアする(ステップS605)。先読み予告実行回数カウンタの値が0である場合は、今回の変動が先読み予告演出の対象である変動であって、先読み予告演出が終了する場合である。その後、先読み予告実行設定処理を終了する。
演出制御用CPU101は、ステップS535で先読み予告実行設定処理を実行した後、変動中予告演出の実行の有無と、実行する場合における変動中予告演出の演出態様に対応した変動中予告パターンとを決定する(ステップS529)。例えば、演出制御用CPU101は、ステップS529の処理で、変動中予告演出の有無と変動中予告パターンとを決定するための使用テーブルとして、あらかじめ用意された変動中予告決定テーブルを選択する。
変動中予告決定テーブルには、可変表示結果通知コマンド(表示結果指定コマンド)(表示結果指定コマンド)から特定される可変表示結果や、変動パターン指定コマンド(変動パターンコマンド)から特定される変動パターンなどに応じて、変動中予告種別決定用の乱数値と比較される数値(決定値)が、変動中予告演出を実行しない場合に対応する「実行なし」の決定結果や、変動中予告演出を実行する場合における複数の変動中予告パターンに、割り当てられていればよい。その後、演出制御用CPU101は、例えばランダムカウンタから抽出した変動中予告決定用の乱数値を示す数値データにもとづいて、変動中予告決定テーブルを参照して、変動中予告演出の有無と変動中予告パターンとを決定する。
演出制御用CPU101は、ステップS529の処理で、例えば図68(A)に示すような決定割合で、変動中予告演出の有無と変動中予告パターンとを決定する。図68(A)に示す決定割合の設定例では、変動パターンが「非リーチはずれ」、「リーチはずれ」、「大当り」、「小当り」のいずれに対応したものであるかに応じて、変動中予告演出の有無や変動中予告パターンの決定割合が異なっている。
具体的には、変動パターンが「リーチはずれ」である場合には、「非リーチはずれ」である場合よりも、変動中予告演出が実行される割合(「予告実行なし」以外に決定される割合)が高くなっている。また、変動パターンが「大当り」である場合には、「非リーチはずれ」、「リーチはずれ」、「小当り」である場合よりも、変動中予告演出が実行される割合が高くなっている。また、各変動中予告パターンでは、「予告Z」、「予告Y」、「予告X」の順番で、可変表示結果が「大当り」になる割合が高くなっている。そのような設定によって、変動中予告演出を実行することで、可変表示結果が「大当り」になることやリーチが実行されることを予告したり示唆したりすることができる。
また、この実施の形態では、特定の先読み予告演出が実行されている場合には、図68(B)に示すような、特別な決定割合で、変動中予告演出の有無と変動中予告パターンとが決定される。具体的には、停止図柄予告が実行された後に背景変化予告が実行される先読み予告パターンSYP3−1の先読み予告演出が実行されている場合であって、未だ背景変化予告が実行される前であるときには、図68(B)に示すような、特別な決定割合で、変動中予告演出の有無と変動中予告パターンとが決定される。
なお、先読み予告演出が実行されているときには、先読み予告演出の対象である変動までの可変表示結果は「非リーチはずれ」になるので、図68(B)には、「非リーチはずれ」の場合の決定割合のみが示されている。図68(B)に示す決定割合では、図68(A)における「非リーチはずれ」である場合の決定割合と比較して、「予告Y」に決定される割合が高くなっている(変動中予告演出が実行される場合には必ず「予告Y」に決定される)。そのような設定によって、停止図柄予告の先読み予告演出が実行されているときには、変動中予告演出の演出態様によって、背景変化予告が実行されることを遊技者に示唆することができ、遊技の興趣が向上する。
また、この実施の形態では、「予告Z」の変動中予告演出が実行された場合、「予告Y」の変動中予告演出が実行された場合よりも大当り信頼度が高い。従って、通常は「予告Y」の変動中予告演出が実行された場合、遊技者は落胆してしまう可能性がある。しかし、停止図柄予告の先読み予告演出が実行されているときに、「予告Y」の変動中予告演出が実行された場合には、その後に背景変化予告の先読み予告演出が実行される割合(先読み予告パターンSYP3−1である割合)が高くなる。先読み予告パターンSYP3−1の先読み予告演出は、先読み予告演出の中で最も大当り信頼度が高いので、停止図柄予告の先読み予告演出が実行されているときに、「予告Y」の変動中予告演出が実行された場合でも、その後の表示結果に期待できるようになり、遊技者の期待感を維持することができ、遊技の興趣が向上する。
なお、各変動中予告パターンの演出態様は、それぞれが区別可能に異なっていればよい。例えば、予告Xは、「キャラクタ表示」の変動中予告演出を実行する変動中予告パターンであり、予告Yは、「ステップアップ動作」の変動中予告演出を実行する変動中予告パターンであり、予告Zは、「操作予告」の変動中予告演出を実行する変動中予告パターンである。
「キャラクタ表示」の変動中予告演出では、飾り図柄の可変表示中に、例えば演出表示装置9の表示画面において、所定位置にあらかじめ用意されたキャラクタ画像を表示させる演出表示が行われる。
「ステップアップ動作」の変動中予告演出では、飾り図柄の可変表示中に、例えば演出表示装置9の表示画面において、あらかじめ用意された複数種類の演出画像を所定の順番に従って切り換えて表示させる演出表示によって、演出態様が複数段階に変化(ステップアップ)するような演出が行われることがある。なお、「ステップアップ動作」の変動中予告演出では、あらかじめ用意された複数種類の演出画像のうちいずれか1つ(例えば所定の順番において最初に表示される演出画像など)が表示された後、演出画像が切り換えられることなく、変動中予告演出における演出表示を終了させることがあるようにしてもよい。また、「ステップアップ動作」の変動中予告演出では、飾り図柄の可変表示中に、例えば可動部材を所定の順番に従って複数種類の動作態様で動作させる演出によって、演出態様が複数段階に変化(ステップアップ)するような演出が行われてもよい。なお、「ステップアップ動作」の変動中予告演出では、可動部材が1種類の動作態様で演出を行った後、2段階目の演出に切り換えられることなく、予告演出における演出を終了させることがあるようにしてもよい。
「操作予告」の変動中予告演出では、飾り図柄の可変表示中に、遊技者によって操作ボタン120が操作されたことに応じて、例えば演出表示装置9の表示画面における演出画像の表示を変更したり、スピーカ27から出力される音声を変更することによって、演出内容を変化させる。一例として、「操作予告」の変動中予告演出では、飾り図柄の可変表示中に、操作促進演出である所定の演出が行われる。操作促進演出は、例えば演出表示装置9の表示画面における所定位置に、あらかじめ用意されたキャラクタ画像やメッセージ画像等を表示して、遊技者による所定の操作態様での操作ボタン120の操作を促す演出であればよい。
この実施の形態では、「キャラクタ表示」、「ステップアップ動作」、「操作予告」の各変動中予告演出は、変動開始から変動終了までの異なるタイミングで実行される。具体的には、「操作予告」の実行タイミングが最も早く、「キャラクタ表示」の実行タイミングが最も遅くなっている。従って、変動中予告演出の演出態様のみならず、その実行タイミングによっても大当り信頼度が異なっている。また、停止図柄予告の先読み予告演出が実行されているときには、変動中予告演出の実行タイミングによって、背景変化予告が実行されることを遊技者に示唆することができ、遊技の興趣が向上する。
演出制御用CPU101は、ステップS529の処理を実行した後、その他の可変表示中における演出の実行設定を行う(ステップS530)。ステップS530の処理では、演出制御用CPU101は、先読み予告演出や変動中予告演出とは異なる演出を実行するための設定を行ってもよい。そのような演出としては、例えば可変表示の開始時や実行中における所定のタイミングで、スピーカ27から所定の効果音(例えばアラーム音やチャイム音、サイレン音など)が出力されるような態様の演出や、枠LED28などに含まれるフラッシュランプが光るような態様の演出のうち、一部または全部を含む所定態様の演出を実行することによって、可変表示結果が「大当り」になることを直ちに告知(確定的に報知)する一発告知態様の演出が実行されてもよい。そのような演出として、可変表示結果が「大当り」になることに対応した特別な演出画像(プレミアム画像)を表示する演出がある。
また、ステップS530の処理で、可変表示結果が「大当り」になる可能性などにはかかわらず、例えば賑やかしのために所定態様の演出を実行するための設定が行われてもよい。具体的には、枠LED28に含まれる所定のランプが光るような態様の演出といった、所定態様の演出を実行できればよい。
その後、演出制御用CPU101は、演出制御パターンをあらかじめ用意された複数パターンのいずれかに決定する(ステップS531)。演出制御用CPU101は、例えば変動パターン指定コマンド(変動パターンコマンド)で指定された変動パターンなどに対応して、複数用意された特図変動時演出制御パターンのいずれかを選択し、使用パターンとしてセットする。また、例えばキャラクタ表示予告の先読み予告演出を実行するための設定がなされた場合には、その設定に対応した予告演出制御パターンが選択されてもよい。
また、演出制御用CPU101は、例えば変動パターン指定コマンド(変動パターンコマンド)で指定された変動パターンに応じて、演出制御プロセスタイマの初期値を設定する(ステップS532)。また、演出制御用CPU101は、演出表示装置9における飾り図柄の変動を開始させるための設定を行う(ステップS533)。演出制御用CPU101は、ステップS531の処理で使用パターンとして決定された特図変動時演出制御パターンに含まれる表示制御データが指定する表示制御指令をVDP109に出力し、VDP109に、演出表示装置9の画面上に設けられた「左」、「中」、「右」の各演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動を開始させる。その後、演出プロセスフラグの値を可変表示中演出処理に対応した値である“2”に更新してから(ステップS534)、可変表示開始設定処理を終了する。
次に、パチンコ遊技機1における制御の具体的な一例を説明する。
パチンコ遊技機1では、第1始動入賞口13や第2始動入賞口14を遊技球が入賞して第1始動口スイッチ13aや第2始動口スイッチ14aによって検出されたときに、第1始動口スイッチ通過処理(ステップS312参照)や第2始動口スイッチ通過処理(ステップS314参照)において入賞時乱数値判定処理が実行される。
入賞時乱数値判定処理では、大当りになるか否かや、小当りになるか否か、大当りの種別の判定結果や、変動パターン種別判定用乱数の値がいずれの判定値の範囲になるかの判定結果にもとづいて、図柄指定コマンドや変動カテゴリコマンドが、主基板31から演出制御基板80に対して伝送される。
演出制御基板80において、演出制御用CPU101は、先読み予告決定処理(ステップS161)を実行するときに、先読み予告の制限中でない場合や(ステップS704:No)、前回までの変動カテゴリ等が先読み予告演出を実行可能な状況である場合には(ステップS709:Yes)、ステップS710の処理で先読み予告演出の有無や先読み予告パターンを決定する。そして、決定結果にもとづいて、複数回の変動に渡って先読み予告演出が実行される。
図70は、停止図柄予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す説明図である。図70(A)には、演出表示装置9における「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されていることが示されている。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図63に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP1−2を実行することに決定されたとする。なお、このときの入賞によって、保留記憶数は3になっているので、ステップS712の処理では、図66に示す先読み予告演出制御パターンSCP2−1がセットされる。
その後、図70(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始される。先読み予告演出が開始される1回目の変動では、図70(C)、(D)に示すように、例えばチャンス目CB1(「1・2・3」)が停止する。停止するチャンス目Bをいずれにするのかは、図69のステップS603の処理で決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図70(E)、(F)に示すように、例えばチャンス目CB2(「2・3・4」)が停止する。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象である変動)では、決定された変動パターンに応じた変動が実行される。図70に示す例では、大当りの変動パターンであることに対応して、図70(G)〜(I)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。
以上のように、停止図柄予告の先読み予告演出では、複数回の変動に渡ってあらかじめ定められたチャンス目が停止することによって、大当りになる可能性やリーチになる可能性を予告することができる。
図71は、背景変化予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す説明図である。図71(A)には、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されていることが示されている。第1始動入賞口13に遊技球が入賞したことにもとづいて、図63に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP2−1を実行することに決定されたとする。なお、このときの入賞によって、保留記憶数は3になっているので、ステップS712の処理では、図66に示す先読み予告演出制御パターンSCP3−1がセットされる。
その後、図71(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始される。先読み予告演出が開始される1回目の変動では、図71(C)〜(E)に示すように、例えば「チャンス」という文字が演出表示装置9に表示され、演出表示装置9における背景画像が昼をモチーフとした画像(通常の背景画像)から夜をモチーフとした背景画像(特殊な背景画像)に変化する。なお、停止図柄は非リーチはずれ組合せを構成する飾り図柄である。
そして、先読み予告演出が開始されてから2回目の変動では、図71(F)、(G)に示すように、夜をモチーフにした背景画像の表示が継続する。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象である変動)では、決定された変動パターンに応じた変動が実行される。図71に示す例では、大当りの変動パターンであることに対応して、図71(H)〜(J)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。なお、3回目の変動においても、夜をモチーフにした背景画像の表示が継続する。
以上のように、背景変化予告の先読み予告演出では、複数回の変動に渡って通常とは異なる特殊な背景画像を表示することによって、大当りになる可能性やリーチになる可能性を予告することができる。なお、背景変化予告の実行中の停止図柄は非リーチはずれの組合せであったが、チャンス目が停止するようにしてもよい。
図72は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す説明図である。図72(A)には、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されていることが示されている。第1始動入賞口13に遊技球が入賞したことにもとづいて、図63に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP3−1を実行することに決定されたとする。なお、このときの入賞によって、保留記憶数は3になっているので、ステップS712の処理では、図66に示す先読み予告演出制御パターンSCP4−1がセットされる。
その後、図72(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始される。先読み予告演出が開始される1回目の変動では、図72(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止する。停止するチャンス目Aをいずれにするのかは、図69のステップS603の処理で決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図72(E)〜(G)に示すように、例えば「チャンス」という文字が演出表示装置9に表示され、演出表示装置9における背景画像が昼をモチーフにした画像(通常の背景画像)から夜をモチーフにした背景画像(特殊な背景画像)に変化する。なお、停止図柄は非リーチはずれ組合せを構成する飾り図柄である。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象である変動)として、決定された変動パターンに応じた変動が実行される。図72に示す例では、大当りの変動パターンであることに対応して、図72(H)〜(J)に示すように、変動が開始されてからリーチになって、大当り組合せを構成する飾り図柄が停止表示される。なお、3回目の変動でも、夜をモチーフにした背景画像の表示が継続される。
以上のように、停止図柄予告の後に背景変化予告が実行される先読み予告演出では、チャンス目Aが停止する停止図柄予告が実行された後、通常とは異なる特殊な背景画像に変化する背景変化予告を実行することによって、大当りになる可能性やリーチになる可能性を予告することができる。
なお、チャンス目Aが停止する停止図柄予告が実行された場合、その後、背景変化予告が実行されなかったときには、先読み予告演出の中で最も大当り信頼度は低いが、背景変化予告が実行された場合には、先読み予告演出の中で最も大当り信頼度が高くなる。信頼度が低いことを示す演出態様から信頼度の高いことを示す演出態様に変化(移行)する先読み予告パターンが設けられているので、信頼度の低いパターンの先読み予告演出が実行された場合であっても、遊技者の期待感を維持することができ、遊技の興趣が向上する。
なお、この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、上記実施の形態では、図64に示すように、先読み予告演出のパターン(先読み予告パターン)として、複数回の可変表示渡って演出表示装置9に演出表示装置9にあらかじめ定められたチャンス目Aが停止する先読み予告パターンSYP1−1と、複数回の可変表示渡って演出表示装置9に演出表示装置9にあらかじめ定められたチャンス目Bが停止する先読み予告パターンSYP1−2と、表示装置5における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象である可変表示が実行されるまでその特殊な背景画像が継続して表示される先読み予告パターンSYP2−1と、演出表示装置9に演出表示装置9にあらかじめ定められたチャンス目Aが停止した後に、表示装置5における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象である可変表示が実行されるまでその特殊な背景画像が継続して表示される先読み予告パターンSYP3−1とが設けられていた。先読み予告演出のパターンはこれらに限定されず、これら以外の先読み予告演出のパターンが設けられていてもよい。例えば、図73に示すように、4回の変動に渡って実行される先読み予告演出の先読み予告パターンとして、1回目の変動においてチャンス目Aが停止し、2回目の変動においてチャンス目Bが停止し、3回目の変動において、背景画像が特殊な背景画像に変化し、4回目の変動においては継続して特殊な背景画像において変動が実行されるものがあってもよい。このような先読み予告パターンを設けることで、大当り信頼度が段階的にステップアップしていくような演出が可能になり、演出態様の変化に遊技者を注目させることができ、遊技の興趣が向上する。
また、上記実施の形態では、先読み予告パターンを決定することで、複数回の変動に渡って実行される先読み予告演出の演出態様を決定するようにしていたが、結果として上記実施の形態と同様の先読み予告演出を実行する制御が行われていればよく、先読み予告演出の演出態様の決定方法は上記実施の形態の方法に限定されない。
例えば、先読み予告演出の対象である変動が実行されるまでの複数回の変動において、先読み予告演出の対象である変動の表示結果や変動カテゴリにもとづいて、いずれ演出態様の先読み予告演出を実行するかを変動毎に決定するようにしてもよい。具体的には、先読み予告演出の対象である変動の表示結果が「大当り」になる場合には、より大当り信頼度の高い演出態様の先読み予告演出が実行されやすくなっていればよい。その場合に、前回の変動における演出態様を記憶しておき、前回の変動の演出態様より大当り信頼度が低い演出態様の先読み予告演出が実行されないようにすることが好ましい。このようにすることで、先読み予告演出(連続演出)が進むにつれて、大当り信頼度が低下するような演出が実行されることを防止できる。
また、上記実施の形態では、背景変化予告の先読み予告演出が実行される場合、通常の背景画像から特殊な背景画像に変化するタイミングについては、特に言及していなかったが、背景変化予告を実行する変動におけるいずれのタイミングで通常の背景画像から特殊な背景画像に変化させるかを異ならせるようにしてもよい。
例えば、背景変化予告を実行する変動における変動開始時、または、変動終了時のいずれかで通常の背景画像から特殊な背景画像に変化させるようにしてもよい。その場合、例えば図63に示すステップS710において、先読み予告演出を実行しないことに対応した「実行なし」以外に決定された場合(ステップS711:No)、図74(A)に示すように、その先読み予告パターンが停止図柄予告の後に背景変化予告が実行されることに対応したSYP3−1であるか否かを判定する(ステップS751)。先読み予告パターンがSYP3−1以外である場合には(ステップS751:No)、ステップS712の処理に進む。
先読み予告パターンがSYP3−1である場合には(ステップS751:Yes)、背景変化予告における背景画像の変化タイミングを変動開始時、または、変動終了時のいずれにするかを決定する(ステップS752)。背景画像の変化タイミングとして、変動開始時、または、変動終了時を採用することで、変化タイミングの差異が遊技者に明確になり、遊技者に分かりやすい演出を実行することができる。
ステップS752の処理では、先読み予告演出の対象である変動カテゴリが「非リーチはずれ」、「リーチはずれ」、「突確・小当り」、「大当り」のいずれであるかに応じて異なる割合で変化タイミングを決定する。例えば、ステップS752の処理では、図74(B)に示す決定割合で変化タイミングを決定すればよい。
図74(B)に示す決定割合では、変動カテゴリに関わらず、変化タイミングとして、変動終了時に決定されやすくなっている。変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化することを期待するようになるので、遊技者の期待感を維持させることができる。
また、図74(B)に示す決定割合では、変動カテゴリが「大当り」である場合には、変動終了時に決定されやすくなっている。このような設定によって、背景変化予告において背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を、変動開始時である場合の大当り信頼度よりも高くすることができる。なお、背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を高くすることで、変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化して、大当り信頼度が高くなることを期待するようになるので、遊技者の期待感をより高めることができる。
なお、図74(B)に示す決定割合とは逆に、変動カテゴリに関わらず、変化タイミングとして、変動開始時に決定されやすくしてもよいし、変動カテゴリが「大当り」である場合には、変動開始時に決定されやすくしてもよい。このようにすることで、遊技者に早い段階で大当り信頼度等を報知することでき、変動の開始時を注目させることができる。
なお、図74(A)では、先読み予告パターンがSYP3−1である場合にのみ、背景変化予告における背景画像の変化タイミングを決定するようにしているが、先読み予告パターンがSYP2−1である場合にも背景画像の変化タイミングを決定するようにしてもよい。
ステップS752において背景画像の変化タイミングを決定した後には、ステップS712の処理に進む。この変形例では、先読み予告パターンSYP3−1の先読み予告演出制御パターンとして、変化タイミングに応じて、図75に示すようなパターンが設けられる。そして、ステップS712の処理では、ステップS752における決定結果に応じて、先読み予告演出制御パターンSCP4−1−1(保留記憶数3で変化タイミングが変動開始時)、SCP4−1−2(保留記憶数3で変化タイミングが変動終了時)、SCP4−2−1(保留記憶数4で変化タイミングが変動開始時)、SCP4−2−2(保留記憶数4で変化タイミングが変動終了時)のいずれかがセットされればよい。
図76は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合であって、背景変化予告の変化タイミングが変動開始時である場合の演出表示装置9における表示動作例を示す説明図である。図76(A)には、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されていることが示されている。第1始動入賞口13に遊技球が入賞したことにもとづいて、図63に示す先読み予告決定処理が実行され、ステップS710の処理で、先読み予告パターンSYP3−1を実行することに決定され、ステップS752の処理で、変化タイミングが変動開始時に決定されたとする。なお、このときの入賞によって、保留記憶数は3になっているので、ステップS712の処理では、図75に示す先読み予告演出制御パターンSCP4−1−1がセットされる。
その後、図76(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始される。先読み予告演出が開始される1回目の変動では、図76(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止表示される。停止するチャンス目Aをいずれにするのかは、図69のステップS603の処理で決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図76(E)に示すように、変動開始時に演出表示装置9における背景画像が昼をモチーフにした画像(通常の背景画像)から夜をモチーフにした背景画像(特殊な背景画像)に変化する。その後、図76(F)に示すように、非リーチはずれ組合せを構成する飾り図柄が停止表示される。なお、チャンス目Aが停止表示されるようにしてもよい。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象である変動)として、決定された変動パターンに応じた変動が実行される。図76に示す例では、大当りの変動パターンであることに対応して、図76(G)〜(I)に示すように、変動が開始されてからリーチになって、大当り組合せを構成する飾り図柄が停止表示される。なお、3回目の変動でも、夜をモチーフにした背景画像の表示が継続する。
図77は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合であって、背景変化予告の変化タイミングが変動開始時である場合の演出表示装置9における表示動作例を示す説明図である。図77(A)には、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されていることが示されている。第1始動入賞口13に遊技球が入賞したことにもとづいて、図63に示す先読み予告決定処理が実行され、ステップS710の処理で、先読み予告パターンSYP3−1を実行することに決定され、ステップS752の処理で、変化タイミングが変動終了時に決定されたとする。なお、このときの入賞によって、保留記憶数は3になっているので、ステップS712の処理では、図77に示す先読み予告演出制御パターンSCP4−2−1がセットされる。
その後、図77(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始される。先読み予告演出が開始される1回目の変動では、図77(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止表示される。停止するチャンス目Aをいずれにするのかは、図69のステップS603の処理で決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図77(E)に示すように、飾り図柄の変動が開始された後、図77(F)に示すように、非リーチはずれ組合せを構成する飾り図柄が停止するとき(変動終了時)に、演出表示装置9における背景画像が昼をモチーフにした画像(通常の背景画像)から夜をモチーフにした背景画像(特殊な背景画像)に変化する。なお、チャンス目が停止するようにしてもよい。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象である変動)として、決定された変動パターンに応じた変動が実行される。図77に示す例では、大当りの変動パターンであることに対応して、図77(G)〜(I)に示すように、変動が開始されてからリーチになって、大当り組合せを構成する飾り図柄が停止表示される。なお、3回目の変動でも、夜をモチーフにした背景画像の表示が継続する。
図77に示すように、変動終了時に背景が変化した場合の方が、図76に示すように、変動開始時に背景が変化した場合よりも、大当り信頼度が高くなっている。背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を高くすることによって、変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化して、大当り信頼度が高くなることを期待するようになるので、遊技者の期待感をより高めることができる。
また、上記の実施の形態では、変動時間およびリーチ演出の種類や擬似連(1回の可変表示中に1回以上の図柄の仮停止と再変動とが実行される演出)の有無等の変動態様を示す変動パターンを演出制御用マイクロコンピュータ100に通知するために、変動を開始するときに1つの変動パターンコマンドを送信する例が示されたが、2つ以上のコマンドで変動パターンを演出制御用マイクロコンピュータ100に通知するようにしてもよい。具体的には、2つのコマンドで通知する場合、遊技制御用マイクロコンピュータ560は、1つ目のコマンドとして擬似連の有無、滑り演出の有無等、リーチになる前(リーチにならない場合にはいわゆる第2停止の前)の変動時間や変動態様を示すコマンドを送信し、2つ目のコマンドとしてリーチの種類や再抽選演出の有無等、リーチになったときの後(リーチにならない場合にはいわゆる第2停止以後)の変動時間や変動態様を示すコマンドを送信するようにしてもよい。その場合、演出制御用マイクロコンピュータ100は、2つのコマンドの組合せから導かれる変動時間にもとづいて変動表示(可変表示)における演出制御を行うようにすればよい。なお、遊技制御用マイクロコンピュータ560は、2つのコマンドのそれぞれで変動時間を通知し、それぞれのタイミングで実行される具体的な変動態様については演出制御用マイクロコンピュータ100で選択するようにしてもよい。2つのコマンドを送信する場合、同一のタイマ割込内で2つのコマンドを送信するようにしてもよく、1つ目のコマンドを送信した後、所定期間が経過してから(例えば、次のタイマ割込において)2つ目のコマンドを送信するようにしてもよい。なお、それぞれのコマンドで示される変動態様はそのような例に限定されず、送信する順序についても適宜変更可能である。このように2つ以上のコマンドで変動パターンを通知するようにすることによって、変動パターンコマンドとして記憶しておかなければならないデータ量を削減することができる。
また、上記の実施の形態では、演出装置を制御する回路が搭載された基板として、演出制御基板80、音声出力基板70およびランプドライバ基板35が設けられているが、演出装置を制御する回路を1つの基板に搭載してもよい。さらに、演出表示装置9等を制御する回路が搭載された第1の演出制御基板(表示制御基板)と、その他の演出装置(ランプ、LED、スピーカ27など)を制御する回路が搭載された第2の演出制御基板との2つの基板を設けるようにしてもよい。
また、上記の実施の形態では、遊技制御用マイクロコンピュータ560は、演出制御用マイクロコンピュータ100に対して直接コマンドを送信していたが、遊技制御用マイクロコンピュータ560が他の基板(例えば、図3に示す音声出力基板70やランプドライバ基板35など、または音声出力基板70に搭載されている回路による機能とランプドライバ基板35に搭載されている回路による機能とを備えた音/ランプ基板)に演出制御コマンドを送信し、他の基板を経由して演出制御基板80における演出制御用マイクロコンピュータ100に送信されるようにしてもよい。その場合、他の基板においてコマンドが単に通過するようにしてもよいし、音声出力基板70、ランプドライバ基板35、音/ランプ基板にマイクロコンピュータ等の制御手段を搭載し、制御手段がコマンドを受信したことに応じて音声制御やランプ制御に関わる制御を実行し、さらに、受信したコマンドを、そのまま、または例えば簡略化したコマンドに変更して、演出表示装置9を制御する演出制御用マイクロコンピュータ100に送信するようにしてもよい。その場合でも、演出制御用マイクロコンピュータ100は、上記の実施の形態における遊技制御用マイクロコンピュータ560から直接受信した演出制御コマンドに応じて表示制御を行うのと同様に、音声出力基板70、ランプドライバ基板35または音/ランプ基板から受信したコマンドに応じて表示制御を行うことができる。
また、上記の実施の形態では、遊技機としてパチンコ遊技機を例にしたが、本発明を、メダルが投入されて所定の賭け数が設定され、遊技者による操作レバーの操作に応じて複数種類の図柄を回転させ、遊技者によるストップボタンの操作に応じて図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数のメダルが遊技者に払い出されるスロット機に適用することも可能である。
また、本発明による遊技機は、所定数の景品としての遊技媒体を払い出す遊技機に限定されず、遊技球等の遊技媒体を封入し景品の付与条件が成立した場合に得点を付与する封入式の遊技機に適用することもできる。