以下、本発明の実施の形態を、図面を参照して説明する。まず、遊技機の一例であるパチンコ遊技機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は、例えば、後述する図4に示すような遊技制御用マイクロコンピュータ560の制御用外部クロック端子を介してクロック回路502に供給される。乱数用クロック生成回路112は、遊技制御用マイクロコンピュータ560の外部にて、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する。乱数用クロック生成回路112により生成された乱数用クロックRCLKは、例えば、後述する図4に示すような遊技制御用マイクロコンピュータ560の乱数用外部クロック端子(RCK端子)を介して乱数回路508a,508bに供給される。一例として、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数以下となるようにすればよい。あるいは、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数よりも高周波となるようにしてもよい。
なお、この実施の形態では、乱数用クロック生成回路112から専用の乱数用クロックRCLKを乱数回路508a,508bに入力する場合を示しているが、そのような態様にかぎられない。例えば、専用のクロックを用いるのではなく、制御用クロック生成回路111からの制御用クロックCCLKを遊技制御用マイクロコンピュータ560内部で乱数回路508a,508bに入力させるように構成してもよい。この場合、例えば、制御用クロックCCLKを分周した信号を用いて乱数回路508a,508b内蔵の乱数カウンタ(後述する乱数生成回路525a,525b)を更新させるようにしてもよい。また、この場合、乱数用クロック生成回路112は主基板31上に設けなくてもよい。
また、RAM55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグなど)と未払出賞球数を示すデータは、バックアップRAMに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、RAM55の全部が、電源バックアップされているとする。
なお、遊技制御用マイクロコンピュータ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には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば演出図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
図4は、主基板31に搭載された遊技制御用マイクロコンピュータ560の構成例を示している。図4に示す遊技制御用マイクロコンピュータ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とがある。なお、図4に示す例では、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は、設定期間ごとにタイムアウト信号を発生させる機能を備える。
図5は、遊技制御用マイクロコンピュータ560におけるアドレスマップの一例を示している。図5に示すように、アドレス0000H〜アドレス2FFFHの領域は、遊技制御用マイクロコンピュータ560のROM54に割り当てられ、プログラムコード/データエリア(ユーザプログラムやデータを格納するエリア)とプログラム管理エリアとを含んでいる。図6は、ROM54におけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレスF000H〜アドレスF3FFHの領域は、遊技制御用マイクロコンピュータ560のRAM55に割り当てられている。アドレスFE00H〜アドレスFEBFHの領域は、遊技制御用マイクロコンピュータ560の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図7〜図9は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレスFED0H〜アドレスFEFDHの領域は、アドレスデコード回路514に割り当てられるXCS,XCSEデコードエリアである。
プログラム管理エリアは、遊技制御用マイクロコンピュータ560がシステムリセット時に内部リセット動作の設定や乱数回路508a,508bの設定など各種設定を行うために必要な情報を格納する記憶領域である。図6に示すように、プログラム管理エリアには、ヘッダ(KHDR)、プログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)、プログラムコードエンドアドレス2(KPCE2)、リセット設定(KRES)、16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)、16ビット乱数初期設定3(KRL3)、8ビット乱数初期設定1(KRS1)、8ビット乱数初期設定2(KRS2)、セキュリティ時間設定(KSES)、乱数クロック監視設定(KRCS)などが、含まれている。また、図7〜図9に示すように、内蔵レジスタエリアには、内部情報レジスタ(CIF)や、乱数回路508a,508bで用いる各種レジスタなどが、含まれている。
プログラム管理エリアに記憶されるヘッダ(KHDR)は、プログラム管理エリアのスタートを示す8バイトのコード列の設定、および遊技制御用マイクロコンピュータ560における内部データの読出設定を示す。図10は、ヘッダ(KHDR)における設定データと動作との対応関係を例示している。ここで、遊技制御用マイクロコンピュータ560では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、遊技制御用マイクロコンピュータ560が備えるROM54の記憶データについて、読出動作を許可または禁止する機能であり、読出禁止に設定された状態では、ROM54の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置から遊技制御用マイクロコンピュータ560の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力および制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図10に示すように、プログラム管理エリアのスタートを示す8バイトのコード列として設定する設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図10に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクが有効となる設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス(KPCE)は、ユーザプログラムの0000Hから続くプログラムコードエリアの最終アドレスの設定を示す。図11(A)は、プログラムコードエンドアドレス(KPCE)における設定内容の一例を示している。
なお、この実施の形態では、アドレス0000H〜アドレス2FBFHまでのプログラムコード/データエリア内に2つのプログラムコードエリアを設定可能である。具体的には、1つ目のプログラムコードエリアは、アドレス0000Hからプログラムコードエンドアドレス(KPCE)で設定されるアドレスまでのエリアとして設定可能であり、2つ目のプログラムコードエリアは、プログラムコードスタートアドレス2(KPCS2)で設定されるアドレスからプログラムコードエンドアドレス2(KPCE2)で設定されるアドレスまでのエリアとして設定可能である。以下、1つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード1ともいい、2つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード2ともいう。
図11(A)に示すように、プログラムコードエンドアドレス(KPCE)のアドレス2FD3Hには、プログラムコード1の最終アドレスの下位アドレスが設定される。また、アドレス2FD4Hには、プログラムコード1の最終アドレスの上位アドレスが設定される。
プログラム管理エリアに記憶されるプログラムコードスタートアドレス2(KPCS2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの先頭アドレスの設定を示す。図11(B)は、プログラムコードスタートアドレス2(KPCS2)における設定内容の一例を示している。
図11(B)に示すように、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5Hには、プログラムコード2の先頭アドレスの下位アドレスが設定される。また、アドレス2FD6Hには、プログラムコード2の先頭アドレスの上位アドレスが設定される。なお、プログラムコードエリアを2つに分けない場合には、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5Hおよびアドレス2FD6Hにそれぞれ0000Hを設定するようにすればよい。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス2(KPCE2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの最終アドレスの設定を示す。図11(C)は、プログラムコードエンドアドレス2(KPCE2)における設定内容の一例を示している。
図11(C)に示すように、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7Hには、プログラムコード2の最終アドレスの下位アドレスが設定される。また、アドレス2FD8Hには、プログラムコード2の最終アドレスの上位アドレスが設定される。なお、プログラムコードエリアを2つに分けない場合には、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7Hおよびアドレス2FD8Hにそれぞれ0000Hを設定するようにすればよい。
なお、図11に示すプログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)およびプログラムコードエンドアドレス2(KPCE2)の設定内容は、IAT回路506aによってユーザプログラムが指定エリア内で正しく実行されているか否かを監視する際に参照される。すなわち、IAT回路506aは、0000Hからプログラムコードエンドアドレス(KPCE)で示されるアドレス、またはプログラムコードスタートアドレス2(KPCS2)で示されるアドレスからプログラムコードエンドアドレス2(KPCE2)で示されるアドレスまでの指定範囲でユーザプログラムが実行されているか否かを判定し、その指定範囲外でユーザプログラムが実行されていることを検出したことにもとづいてIAT信号を出力する。
プログラム管理エリアに記憶されるリセット設定(KRES)は、内部リセット動作やウオッチドッグタイマ(WDT)506bの動作許可/禁止の設定を示す。図12は、リセット設定(KRES)における設定内容の一例を示している。
リセット設定(KRES)のビット[7]は、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力したことや、IATが発生したこと(IAT回路506aからのIAT信号を入力したとき)により内部リセットが発生したときの動作の設定を示している。図12に示す例において、リセット設定(KRES)のビット[7]におけるビット値が”0”であれば、タイムアウト信号やIAT信号を入力したときにユーザリセットが発生する。これに対して、リセット設定(KRES)のビット[7]におけるビット値が”1”であれば、タイムアウト信号やIAT信号を入力したときにシステムリセットが発生する。
リセット設定(KRES)のビット[6]は、ウオッチドッグタイマ(WDT)506bの起動方法の設定を示している。図12に示す例において、リセット設定(KRES)のビット[6]におけるビット値が”0”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にウオッチドッグタイマ(WDT)506bが起動され時間計測が開始される。これに対して、リセット設定(KRES)のビット[6]におけるビット値が”1”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によりウオッチドッグタイマ(WDT)506bが起動され時間計測が開始される。
リセット設定(KRES)のビット[5−4]は、ウオッチドッグタイマ(WDT)506bの基準クロック信号の設定を示している。図12に示す例では、リセット設定(KRES)のビット[5−4]に”00”が設定された場合には、基準クロック信号として215×TSCLKが選択される。また、リセット設定(KRES)のビット[5−4]に”01”が設定された場合には、基準クロック信号として219×TSCLKが選択される。また、リセット設定(KRES)のビット[5−4]に”10”が設定された場合には、基準クロック信号として222×TSCLKが選択される。また、リセット設定(KRES)のビット[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となる。なお、図12には、内部システムクロックが10.0MHzと12.0MHzである場合のタイムアウト時間の値の具体例もそれぞれ示されている。
なお、ウオッチドッグタイマ(WDT)506bを使用しないように設定する場合、図12に示すように、リセット設定(KRES)のビット[3−0]に”0000”を設定するようにすればよい。ただし、リセット設定(KRES)のビット[3−0]に”0000”がセットされてウオッチドッグタイマ(WDT)506bが使用禁止状態に設定された場合であっても、リセット設定(KRES)のビット[7]の値を設定することにより、システムリセットするかユーザリセットとするかの設定を行うことは可能である。
プログラム管理エリアに記憶される16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)および16ビット乱数初期設定3(KRL3)は、16ビット乱数回路508bの設定を示す。図13は、16ビット乱数初期設定1(KRL1)のにおける設定内容の一例を示している。また、図14は、16ビット乱数初期設定2(KRL2)のにおける設定内容の一例を示している。さらに、図15は、16ビット乱数初期設定3(KRL3)のにおける設定内容の一例を示している。
まず、図13を用いて、16ビット乱数初期設定1(KRL1)における設定内容を説明する。16ビット乱数初期設定1(KRL1)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの起動方法の設定を示している。図13に示す例において、16ビット乱数初期設定1(KRL1)のビット「7」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル1の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定1(KRL1)のビット「7」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル1の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「6」は、チャネル1の16ビット乱数回路508bの更新クロックの設定を示している。図13に示す例において、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が更新する乱数列を変更するか否かの設定を示している。図13に示す例において、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が”00”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が”01”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が”10”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が”11”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
16ビット乱数初期設定1(KRL1)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの起動方法の設定を示している。図13に示す例において、16ビット乱数初期設定1(KRL1)のビット「3」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル0の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定1(KRL1)のビット「3」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル0の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「2」は、チャネル0の16ビット乱数回路508bの更新クロックの設定を示している。図13に示す例において、16ビット乱数初期設定1(KRL1)のビット「2」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定1(KRL1)のビット「2」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定1(KRL1)のビット「1−0」は、チャネル0の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図13に示す例において、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が”00”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が”01”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が”10”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が”11”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図14を用いて、16ビット乱数初期設定2(KRL2)における設定内容を説明する。16ビット乱数初期設定2(KRL2)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの起動方法の設定を示している。図14に示す例において、16ビット乱数初期設定2(KRL2)のビット「7」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル3の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定2(KRL2)のビット「7」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル3の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「6」は、チャネル3の16ビット乱数回路508bの更新クロックの設定を示している。図14に示す例において、16ビット乱数初期設定2(KRL2)のビット「6」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定2(KRL2)のビット「6」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「5−4」は、チャネル3の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図14に示す例において、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の起動方法の設定を示している。図14に示す例において、16ビット乱数初期設定2(KRL2)のビット「3」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル2の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定2(KRL2)のビット「3」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル2の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「2」は、チャネル2の16ビット乱数回路508bの更新クロックの設定を示している。図14に示す例において、16ビット乱数初期設定2(KRL2)のビット「2」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定2(KRL2)のビット「2」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「1−0」は、チャネル2の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図14に示す例において、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周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図15を用いて、16ビット乱数初期設定3(KRL3)のにおける設定内容を説明する。16ビット乱数初期設定3(KRL3)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図15に示す例において、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のスタート値をシステムリセットごとに変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が”0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が”1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「5」は、4チャネルの16ビット乱数回路508bのうち、チャネル2の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「5」におけるビット値が”0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「5」におけるビット値が”1”であれば、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「4」は、チャネル2の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「4」におけるビット値が”0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が”1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「3」におけるビット値が”0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「3」におけるビット値が”1”であれば、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「2」は、チャネル1の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「2」におけるビット値が”0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「2」におけるビット値が”1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「1」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「1」におけるビット値が”0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「1」におけるビット値が”1”であれば、乱数更新の1周目のスタート値として遊技制御用マイクロコンピュータ560のIDナンバをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「0」は、チャネル0の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定3(KRL3)のビット「0」におけるビット値が”0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「0」におけるビット値が”1”であれば、システムリセットごとにスタート値を変更する。
プログラム管理エリアに記憶される8ビット乱数初期設定1(KRS1)および8ビット乱数初期設定2(KRS2)は、8ビット乱数回路508aの設定を示す。図16は、8ビット乱数初期設定1(KRS1)のにおける設定内容の一例を示している。また、図17は、8ビット乱数初期設定2(KRS2)のにおける設定内容の一例を示している。
まず、図16を用いて、8ビット乱数初期設定1(KRS1)における設定内容を説明する。8ビット乱数初期設定1(KRS1)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル1の8ビット乱数回路508aの起動方法の設定を示している。図16に示す例において、8ビット乱数初期設定1(KRS1)のビット「7」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル1の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定1(KRS1)のビット「7」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル1の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「6」は、チャネル1の8ビット乱数回路508aの更新クロックの設定を示している。図16に示す例において、8ビット乱数初期設定1(KRS1)のビット「6」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定1(KRS1)のビット「6」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「5−4」は、チャネル1の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図16に示す例において、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の起動方法の設定を示している。図16に示す例において、8ビット乱数初期設定1(KRS1)のビット「3」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル0の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定1(KRS1)のビット「3」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル0の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「2」は、チャネル0の8ビット乱数回路508aの更新クロックの設定を示している。図16に示す例において、8ビット乱数初期設定1(KRS1)のビット「2」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定1(KRS1)のビット「2」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「1−0」は、チャネル0の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図16に示す例において、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周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図17を用いて、8ビット乱数初期設定2(KRS2)における設定内容を説明する。8ビット乱数初期設定2(KRS2)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル3の8ビット乱数回路508aの起動方法の設定を示している。図17に示す例において、8ビット乱数初期設定2(KRS2)のビット「7」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル3の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定2(KRS2)のビット「7」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル3の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「6」は、チャネル3の8ビット乱数回路508aの更新クロックの設定を示している。図17に示す例において、8ビット乱数初期設定2(KRS2)のビット「6」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定2(KRS2)のビット「6」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「5−4」は、チャネル3の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図17に示す例において、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の起動方法の設定を示している。図17に示す例において、8ビット乱数初期設定2(KRS2)のビット「3」におけるビット値が”0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル2の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定2(KRS2)のビット「3」におけるビット値が”1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことにもとづいて自動的にチャネル2の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「2」は、チャネル2の8ビット乱数回路508aの更新クロックの設定を示している。図17に示す例において、8ビット乱数初期設定2(KRS2)のビット「2」におけるビット値が”0”であれば、遊技制御用マイクロコンピュータ560の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定2(KRS2)のビット「2」におけるビット値が”1”であれば、遊技制御用マイクロコンピュータ560の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「1−0」は、チャネル2の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図17に示す例において、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とは異なり、図15に示したようなスタート値の設定を行う機能はない。
プログラム管理エリアに記憶されるセキュリティ時間設定(KSES)は、セキュリティモードを延長する時間の設定を示す。図18は、セキュリティ時間設定(KSES)における設定内容の一例を示している。
セキュリティ時間設定(KSES)のビット[7−6]は、セキュリティモード時間をランダムに延長する時間の設定を示している。図18に示す例では、セキュリティ時間設定(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の範囲の時間がランダムに延長される。
なお、セキュリティモード時間のランダム延長を行わないように設定する場合、図18に示すように、セキュリティ時間設定(KSES)のビット[7−6]に”00”を設定するようにすればよい。
セキュリティ時間設定(KSES)のビット[5]は、セキュリティモード時間を固定延長する時間の基準クロック信号の設定を示している。図18に示す例では、セキュリティ時間設定(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となる。なお、図18には、内部システムクロックが10.0MHzと12.0MHzである場合の固定延長時間の値の具体例もそれぞれ示されている。
なお、セキュリティモード時間の固定延長を行わないように設定する場合、図18に示すように、セキュリティ時間設定(KSES)のビット[4−0]に”00000”を設定するようにすればよい。
図18に示すように、セキュリティモード時間は、セキュリティ時間設定(KSES)のビット[7−6]の設定によるランダム延長と、セキュリティ時間設定(KSES)のビット[5−0]の設定による固定延長との2種類の方法で延長設定が可能である。そして、これら2種類の方法で設定された時間の加算時間が最終的なセキュリティモード時間の延長時間となる。
プログラム管理エリアに記憶される乱数クロック監視設定(KRCS)は、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号の監視周波数の設定を示す。図19は、乱数クロック監視設定(KRCS)における設定内容の一例を示している。
乱数クロック監視設定(KRCS)のビット[7−2]は、固定ビット(すなわち、特に設定に使用しないビット)であり、全ビット必ず”0”を設定するものとする。
乱数クロック監視設定(KRCS)のビット[1−0]は、乱数を更新するためのクロックとして、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号を選択した場合に、その入力クロックの周波数異常の検出対象とする周波数の設定を示している。図19に示す例では、乱数クロック監視設定(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)のビット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が動作しているのに乱数の更新だけが停止しているような事態が生じる可能性があり弊害が生じるおそれがあるためである。
図4に示す遊技制御用マイクロコンピュータ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の所定領域を用いることなどにより、ROM54に含まれるようにしてもよい。あるいは、固有情報記憶回路504は、例えばCPU56の内蔵レジスタを用いることなどにより、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は、図7〜図9に示すような遊技制御用マイクロコンピュータ560が備える内蔵レジスタのうち、内部情報レジスタCIF(アドレスFE25H)などを用いて、割込みの制御やリセットの管理を行う。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数更新状態、乱数更新クロックを外部クロックとした場合の入力周波数の状態を読み取るためのレジスタである。
図20(A)は、内部情報レジスタCIFの構成例を示している。図20(B)は、内部情報レジスタCIFに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタCIFのビット番号[7]に格納される内部情報データRL3ERは、チャネル3の16ビット乱数回路508bが更新する16ビット乱数RL3の更新状態の異常を示す。図20(B)に示す例では、16ビット乱数RL3の更新異常が検知されないときに、内部情報データRL3ERのビット値が“0”となる一方、16ビット乱数RL3の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[6]に格納される内部情報データRL2ERは、チャネル2の16ビット乱数回路508bが更新する16ビット乱数RL2の更新状態の異常を示す。図20(B)に示す例では、16ビット乱数RL2の更新異常が検知されないときに、内部情報データRL2ERのビット値が“0”となる一方、16ビット乱数RL2の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[5]に格納される内部情報データRL1ERは、チャネル1の16ビット乱数回路508bが更新する16ビット乱数RL1の更新状態の異常を示す。図20(B)に示す例では、16ビット乱数RL1の更新異常が検知されないときに、内部情報データRL1ERのビット値が“0”となる一方、16ビット乱数RL1の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[4]に格納される内部情報データRL0ERは、チャネル0の16ビット乱数回路508bが更新する16ビット乱数RL0の更新状態の異常を示す。図20(B)に示す例では、16ビット乱数RL0の更新異常が検知されないときに、内部情報データRL0ERのビット値が“0”となる一方、16ビット乱数RL0の更新異常が検知されたときには、そのビット値が“1”となる。なお、内部情報レジスタCIFのビット番号[7−4」は、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[3]に格納される内部情報データRCERは、乱数更新用クロックとして乱数用外部クロック端子(RCK端子)から入力された外部クロック信号が選択されている場合に、その外部クロック信号の周波数異常を示す。図20(B)に示す例では、外部クロック信号の周波数異常が検知されないときに、内部情報データRCERのビット値が“0”となる一方、外部クロック信号の周波数異常が検知されたときには、そのビット値が“1”となる。なお、内部情報レジスタCIFのビット番号[3」は、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[2]に格納される内部情報データSRSFは、直前に発生したリセット要因がシステムリセットであることを示す。図20(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データSRSFのビット値が“0”となる一方、システムリセットであるときには(システムリセット発生)、そのビット値が“1”となる。なお、内部情報レジスタCIFのビット番号[2」は、初期値として”1”が設定されている。
内部情報レジスタCIFのビット番号[1]に格納される内部情報データWDTFは、直前に発生したリセット要因がウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したことによるユーザリセットであることを示す。図20(B)に示す例では、直前のリセット要因がタイムアウト信号によるユーザリセットではないときに(タイムアウト信号によるユーザリセット未発生)、内部情報データWDTFのビット値が“0”となる一方、タイムアウト信号によるユーザリセットであるときには(タイムアウト信号によるユーザリセット発生)、そのビット値が“1”となる。なお、内部情報レジスタCIFのビット番号[1」は、初期値として”0”が設定されている。
内部情報レジスタCIFのビット番号[0]に格納される内部情報データIATFは、直前に発生したリセット要因がIAT回路506aからのIAT発生信号を入力したことによるユーザリセットであることを示す。図20(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を用いることなく、ソフトウェアによって大当り判定用乱数などの乱数値を示す数値データの一部をカウント(更新)するようにしてもよい。一例として、ハードウェアとなる乱数回路508a,508bからCPU56により抽出された数値データを、ソフトウェアにより加工することで、大当り判定用乱数(ランダムR)を示す数値データが更新され、それ以外の乱数値(例えば、大当り種別判定用乱数や、変動パターン種別決定用乱数、変動パターン決定用乱数)を示す数値データは、CPU56がランダムカウンタなどを用いてソフトウェアにより更新すればよい。
図21は、8ビット乱数回路508aの一構成例を示すブロック図である。また、図22は、16ビット乱数回路508bの一構成例を示すブロック図である。8ビット乱数回路508aおよび16ビット乱数回路508bは、図21および図22に示すように、乱数列変更選択回路523a,523b、乱数生成回路525a,525b、乱数列変更回路526a,526b、および最大値比較回路527a,527bを備えて構成される。また、16ビット乱数回路508bは、図22に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数スタート値選択回路535を備える。さらに、16ビット乱数回路508bは、図22に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数生成回路525bが更新監視回路537を含む。
また、図22に示す例では、16ビット乱数回路508bの回路部分の構成のみを示し、乱数列変更レジスタ522および最大値設定レジスタ524b以外の16ビット乱数回路508bが用いる各レジスタについては記載を省略している。なお、具体的には、16ビット乱数回路508bは、図21に示すRSハードラッチ選択レジスタ528a,528bに代えて図7に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ(RL3LS)を用い、図21に示すRS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dに代えて図8および図9に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)を用い、図21に示すRSハードラッチフラグレジスタ530に代えて図8に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)を用い、図21に示すRS割り込み制御レジスタ531に代えて図7に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)を用い、図21に示すRS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dに代えて図8に示すRL0ソフトラッチ乱数値レジスタ(RL0SV)〜RL3ソフトラッチ乱数値レジスタ(RL3SV)を用いる。また、16ビット乱数回路508bは、乱数値ソフトラッチレジスタ532および乱数ソフトラッチフラグレジスタ534については、8ビット乱数回路508aと兼用で同じレジスタを用いる。
また、8ビット乱数回路508aは、既に説明したプログラム管理エリアに設けられた8ビット乱数初期設定521a(図6に示す8ビット乱数初期設定1(KRS1)および8ビット乱数初期設定2(KRS2))の設定内容に従って動作する。
また、16ビット乱数回路508bは、既に説明したプログラム管理エリアに設けられた16ビット乱数初期設定521b(図6に示す16ビット乱数初期設定1(KRL1)〜16ビット乱数初期設定2(KRL2))の設定内容に従って動作する。また、16ビット乱数回路508bは、8ビット乱数回路508aの機能に加えて、乱数スタート値選択回路535が16ビット乱数初期設定536(図6に示す16ビット乱数初期設定3(KRL3))の設定内容に従って動作することにより、1周目の乱数値のスタート値を変更する機能を備えている(図15参照)。
また、16ビット乱数回路508bは、乱数生成回路525bが更新監視回路537を含んでおり、8ビット乱数回路508aの機能に加えて、更新監視回路537が動作することにより外部クロック周波数異常および更新異常を検出する機能を備えている(図19参照)。なお、この実施の形態では、1つの更新監視回路537により外部クロック周波数異常および更新異常の両方を検出する場合を示しているが、外部クロック周波数異常を検出する監視回路と更新異常を検出する監視回路とを別々に備えてもよい。
なお、8ビット乱数回路508aも更新監視回路を備えるように構成し、8ビット乱数回路508aの外部クロック周波数異常および更新異常を検出可能に構成するようにしてもよい。
また、乱数列変更レジスタ522は、図7に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれる乱数列変更レジスタRDSCに対応している。なお、乱数列変更レジスタRDSCとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、最大値設定レジスタ524a,524bは、図7に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRS0最大値設定レジスタ(RS0MX)〜RS3最大値設定レジスタ(RS3MX)に対応している(16ビット乱数回路508bの場合は、RL0最大値設定レジスタ(RL0MX)〜RL3最大値設定レジスタ(RL3MX)に対応している)。
また、ハードラッチ選択レジスタ528aは、図7に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRSハードラッチ選択レジスタ0(RSLS0)に対応している。また、ハードラッチ選択レジスタ528bは、図7に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRSハードラッチ選択レジスタ1(RSLS1)に対応している。なお、16ビット乱数回路508bの場合は、図7に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ3(RL3LS)に対応している。
また、RS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dは、図9に示すような遊技制御用マイクロコンピュータ560の内蔵レジスタに含まれるRS0ハードラッチ乱数値レジスタ(RS0HV)〜RS3ハードラッチ乱数値レジスタ(RS3HV)に対応している。なお、16ビット乱数回路508bの場合は、図8に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL1ハードラッチ乱数値レジスタ1(RL1HV1)および図9に示すRL2ハードラッチ乱数値レジスタ0(RL2HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)に対応している。
また、RSハードラッチフラグレジスタ530は、図8に示すRSハードラッチフラグレジスタ(RSHF)に対応している。なお、16ビット乱数回路508bの場合は、図8に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)に対応している。
また、RS割り込み制御レジスタ531は、図7に示すRS割り込み制御レジスタ(RSIC)に対応している。なお、16ビット乱数回路508bの場合は、図7に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)に対応している。
また、乱数ソフトラッチレジスタ532は、図7に示す乱数ソフトラッチレジスタ(RDSL)に対応している。なお、ソフトラッチレジスタRDSLとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、RS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dは、は、図8に示すRS0ソフトラッチ乱数値レジスタ(RS0SV)〜RS3ソフトラッチ乱数値レジスタ(RS3SV)に対応している。なお、16ビット乱数回路508bの場合は、図8に示すRL0ソフトラッチ乱数値(RL0SV)〜RL3ソフトラッチ乱数値(RL3SV)に対応している。
また、乱数ソフトラッチフラグレジスタ534は、図7に示す乱数ソフトラッチフラグレジスタ(RDSF)に対応している。なお、乱数ソフトラッチフラグレジスタRDSFとして、8ビット乱数回路508aおよび16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
乱数列変更選択回路523a,523bは、図16や図17に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図13や図14に示す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は、図16や図17に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図13や図14に示す16ビット乱数初期設定1(KRL1)や16ビット乱数初期設定2(KRL2)の設定内容に従って)、乱数生成回路525a,525bが生成する乱数値の最大値を設定する。
図23(A)は、RL0ハードラッチ選択レジスタ0(RL0LS0)の構成例を示している。図23(B)は、RL0ハードラッチ選択レジスタ0(RL0LS0)に格納されるデータの各ビットにおける設定内容の一例を示している。RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[7]に格納されるデータRL01RFは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図23(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の値を取り込むかの設定を示している。図23(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の値を取り込む際の条件の設定を示している。図23(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL00RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRL00RFは、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に格納されるデータRL00LS0〜RL00LS2は、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図23(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”が設定されている。
図24(A)は、RL0ハードラッチ選択レジスタ1(RL0LS1)の構成例を示している。図24(B)は、RL0ハードラッチ選択レジスタ1(RL0LS1)に格納されるデータの各ビットにおける設定内容の一例を示している。RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[7]に格納されるデータRL03RFは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図24(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL03RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRL03RFは、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に格納されるデータRL03LS0〜RL03LS2は、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図24(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の値を取り込む際の条件の設定を示している。図24(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL02RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRL02RFは、初期値として”0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に格納されるデータRL02LS0〜RL02LS2は、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図24(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”が設定されている。
図25(A)は、RLnハードラッチ選択レジスタ(RLnLS)の構成例を示している。図25(B)は、RLnハードラッチ選択レジスタ(RLnLS)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、図25において、nは0〜3の値をとる。RLnハードラッチ選択レジスタ(RLnLS)のビット番号[7]に格納されるデータRLn1RFは、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、外部端子入力により、16ビット乱数RLnの値を取り込む際の条件の設定を示している。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn1RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRLn1RFは、初期値として”0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に格納されるデータRLn1LS0〜RLn1LS2は、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、どの外部端子入力により、16ビット乱数RLnの値を取り込むかの設定を示している。図25(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の値を取り込む際の条件の設定を示している。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn0RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRLn0RFは、初期値として”0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に格納されるデータRLn0LS0〜RLn0LS2は、RLnハードラッチ乱数値レジスタ0(RLnHV0)に、どの外部端子入力により、16ビット乱数RLnの値を取り込むかの設定を示している。図25(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”が設定されている。
図26(A)は、RSハードラッチ選択レジスタ0(RSLS0)の構成例を示している。図26(B)は、RSハードラッチ選択レジスタ0(RSLS0)に格納されるデータの各ビットにおける設定内容の一例を示している。RSハードラッチ選択レジスタ0(RSLS0)のビット番号[7]に格納されるデータRS1RFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、外部端子入力により、8ビット乱数RS1の値を取り込む際の条件の設定を示している。図26(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS1RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRS1RFは、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に格納されるデータRS1LS0〜RS1LS2は、RS1ハードラッチ乱数値レジスタ(RS1HV)に、どの外部端子入力により、8ビット乱数RS1の値を取り込むかの設定を示している。図26(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の値を取り込む際の条件の設定を示している。図26(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS0RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRS0RFは、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に格納されるデータRS0LS0〜RS0LS2は、RS0ハードラッチ乱数値レジスタ(RS0HV)に、どの外部端子入力により、8ビット乱数RS0の値を取り込むかの設定を示している。図26(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”が設定されている。
図27(A)は、RSハードラッチ選択レジスタ1(RSLS1)の構成例を示している。図27(B)は、RSハードラッチ選択レジスタ1(RSLS1)に格納されるデータの各ビットにおける設定内容の一例を示している。RSハードラッチ選択レジスタ1(RSLS1)のビット番号[7]に格納されるデータRS3RFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、外部端子入力により、8ビット乱数RS3の値を取り込む際の条件の設定を示している。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS3RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRS3RFは、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[6−4]に格納されるデータRS3LS0〜RS3LS2は、RS3ハードラッチ乱数値レジスタ(RS3HV)に、どの外部端子入力により、8ビット乱数RS3の値を取り込むかの設定を示している。図27(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の値を取り込む際の条件の設定を示している。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS2RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。なお、データRS2RFは、初期値として”0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に格納されるデータRS2LS0〜RS2LS2は、RS2ハードラッチ乱数値レジスタ(RS2HV)に、どの外部端子入力により、8ビット乱数RS2の値を取り込むかの設定を示している。図27(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”が設定されている。
図28(A)は、RL割り込み制御レジスタ0(RLIC0)の構成例を示している。図28(B)は、RL割り込み制御レジスタ0(RLIC0)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RL割り込み制御レジスタ0(RLIC0)のビット[7−6]のビット値は必ず”0”とされる。
RL割り込み制御レジスタ0(RLIC0)のビット番号[5]に格納されるデータRL11IEは、RL1ハードラッチ乱数値レジスタ1(RL1HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL11IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL11IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[4]に格納されるデータRL10IEは、RL1ハードラッチ乱数値レジスタ0(RL1HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL10IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL10IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[3]に格納されるデータRL03IEは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL03IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL03IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[2]に格納されるデータRL02IEは、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL02IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL02IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に格納されるデータRL01IEは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL01IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL01IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に格納されるデータRL00IEは、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図28(B)に示す例では、割り込み禁止に設定した場合には、データRL00IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL00IEは、初期値として”0”が設定されている。
図29(A)は、RL割り込み制御レジスタ1(RLIC1)の構成例を示している。図29(B)は、RL割り込み制御レジスタ1(RLIC1)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RL割り込み制御レジスタ1(RLIC1)のビット[7−6]およびビット[3−2]のビット値は必ず”0”とされる。
RL割り込み制御レジスタ1(RLIC1)のビット番号[5]に格納されるデータRL31IEは、RL3ハードラッチ乱数値レジスタ1(RL3HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL31IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL31IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[4]に格納されるデータRL30IEは、RL3ハードラッチ乱数値レジスタ0(RL3HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL30IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL30IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[1]に格納されるデータRL21IEは、RL2ハードラッチ乱数値レジスタ1(RL2HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL21IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL21IEは、初期値として”0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[0]に格納されるデータRL20IEは、RL2ハードラッチ乱数値レジスタ0(RL2HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL20IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRL20IEは、初期値として”0”が設定されている。
図30(A)は、RS割り込み制御レジスタ(RSIC)の構成例を示している。図30(B)は、RS割り込み制御レジスタ(RSIC)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RS割り込み制御レジスタ(RSIC)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RS割り込み制御レジスタ(RSIC)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示している。
RS割り込み制御レジスタ(RSIC)のビット番号[3]に格納されるデータRS3IEは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRS3IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRS3IEは、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[2]に格納されるデータRS2IEは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRS2IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRS2IEは、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[1]に格納されるデータRS1IEは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRS1IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRS1IEは、初期値として”0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[0]に格納されるデータRS0IEは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRS0IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。なお、データRS0IEは、初期値として”0”が設定されている。
図31(A)は、RLn最大値設定レジスタ(RLnMX)の構成例を示している。図31(B)は、RLn最大値設定レジスタ(RLnMX)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、図31において、nは0〜3の値をとる。図31(B)に示すように、RLn最大値設定レジスタ(RLnMX)のビット番号[15−0]に格納されるデータRLnMX15〜RLnMX0は、16ビット乱数RLnの最大値が設定される。
図32(A)は、RSn最大値設定レジスタ(RSnMX)の構成例を示している。図32(B)は、RSn最大値設定レジスタ(RSnMX)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、図32において、nは0〜3の値をとる。図32(B)に示すように、RSn最大値設定レジスタ(RSnMX)のビット番号[7−0]に格納されるデータRSnMX7〜RSnMX0は、8ビット乱数RSnの最大値が設定される。
図33(A)は、乱数列変更レジスタ(RDSC)の構成例を示している。図33(B)は、乱数列変更レジスタ(RDSC)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数列変更レジスタ(RDSC)のビット番号[7]に格納されるデータRS3SCは、8ビット乱数RS3の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRS3SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS3SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[6]に格納されるデータRS2SCは、8ビット乱数RS2の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRS2SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS2SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[5]に格納されるデータRS1SCは、8ビット乱数RS1の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRS1SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS1SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[4]に格納されるデータRS0SCは、8ビット乱数RS0の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRS0SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS0SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[3]に格納されるデータRL3SCは、16ビット乱数RL3の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRL3SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL3SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[2]に格納されるデータRL2SCは、16ビット乱数RL2の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRL2SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL2SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[1]に格納されるデータRL1SCは、16ビット乱数RL1の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRL1SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL1SCは、初期値として”0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[0]に格納されるデータRL0SCは、16ビット乱数RL0の乱数列変更要求ビットを示している。図33(B)に示す例では、乱数列を変更しないに設定した場合には、データRL0SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL0SCは、初期値として”0”が設定されている。
図34(A)は、乱数ソフトラッチレジスタ(RDSL)の構成例を示している。図34(B)は、乱数ソフトラッチレジスタ(RDSL)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチレジスタ(RDSL)のビット番号[7]に格納されるデータRS3SLは、8ビット乱数RS3の乱数値を、RS3ソフトラッチ乱数値レジスタ(RS3SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS3SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS3SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[6]に格納されるデータRS2SLは、8ビット乱数RS2の乱数値を、RS2ソフトラッチ乱数値レジスタ(RS2SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS2SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS2SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[5]に格納されるデータRS1SLは、8ビット乱数RS1の乱数値を、RS1ソフトラッチ乱数値レジスタ(RS1SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS1SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS1SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[4]に格納されるデータRS0SLは、8ビット乱数RS0の乱数値を、RS0ソフトラッチ乱数値レジスタ(RS0SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS0SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRS0SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[3]に格納されるデータRL3SLは、16ビット乱数RL3の乱数値を、RL3ソフトラッチ乱数値レジスタ(RL3SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL3SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL3SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[2]に格納されるデータRL2SLは、16ビット乱数RL2の乱数値を、RL2ソフトラッチ乱数値レジスタ(RL2SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL2SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL2SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[1]に格納されるデータRL1SLは、16ビット乱数RL1の乱数値を、RL1ソフトラッチ乱数値レジスタ(RL1SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL1SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL1SLは、初期値として”0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[0]に格納されるデータRL0SLは、16ビット乱数RL0の乱数値を、RL0ソフトラッチ乱数値レジスタ(RL0SV)に取り込むためのビットを示している。図34(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL0SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。なお、データRL0SLは、初期値として”0”が設定されている。
図35(A)は、乱数ソフトラッチフラグレジスタ(RDSF)の構成例を示している。図35(B)は、乱数ソフトラッチフラグレジスタ(RDSF)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[7]に格納されるデータRS3SFは、RS3ソフトラッチ乱数値レジスタ(RS3SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRS3SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS3SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[6]に格納されるデータRS2SFは、RS2ソフトラッチ乱数値レジスタ(RS2SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRS2SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS2SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[5]に格納されるデータRS1SFは、RS1ソフトラッチ乱数値レジスタ(RS1SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRS1SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS1SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[4]に格納されるデータRS0SFは、RS0ソフトラッチ乱数値レジスタ(RS0SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRS0SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS0SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[3]に格納されるデータRL3SFは、RL3ソフトラッチ乱数値レジスタ(RL3SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRL3SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL3SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[2]に格納されるデータRL2SFは、RL2ソフトラッチ乱数値レジスタ(RL2SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRL2SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL2SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[1]に格納されるデータRL1SFは、RL1ソフトラッチ乱数値レジスタ(RL1SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRL1SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL1SFは、初期値として”0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[0]に格納されるデータRL0SFは、RL0ソフトラッチ乱数値レジスタ(RL0SV)に、乱数値が取り込まれたことを示している。図35(B)に示す例では、乱数値が取り込まれていない場合には、データRL0SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL0SFは、初期値として”0”が設定されている。
図36(A)は、RLnソフトラッチ乱数値レジスタ(RLnSV)の構成例を示している。図36(B)は、RLnソフトラッチ乱数値レジスタ(RLnSV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図36において、nは0〜3の値をとる。図36(B)に示すように、RLnソフトラッチ乱数値レジスタ(RLnSV)のビット番号[15−0]に格納されるデータRLnSV15〜RLnSV0は、乱数ソフトラッチレジスタ(RDSL)により取り込まれた16ビット乱数RLnの値が格納される。なお、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに”1”がセットされる。
図37(A)は、RSnソフトラッチ乱数値レジスタ(RSnSV)の構成例を示している。図37(B)は、RSnソフトラッチ乱数値レジスタ(RSnSV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図37において、nは0〜3の値をとる。図37(B)に示すように、RSnソフトラッチ乱数値レジスタ(RSnSV)のビット番号[7−0]に格納されるデータRSnSV7〜RSnSV0は、乱数ソフトラッチレジスタ(RDSL)により取り込まれた8ビット乱数RSnの値が格納される。なお、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに”1”がセットされる。
図38(A)は、RLハードラッチフラグレジスタ0(RLHF0)の構成例を示している。図38(B)は、RLハードラッチフラグレジスタ0(RLHF0)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RLハードラッチフラグレジスタ0(RLHF0)のビット[7−6]のビット値は必ず”0”とされる。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[5]に格納されるデータRL11HFは、RL1ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL11HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL11HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[4]に格納されるデータRL10HFは、RL1ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL10HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL10HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[3]に格納されるデータRL03HFは、RL0ハードラッチ乱数値レジスタ3に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL03HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL03HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[2]に格納されるデータRL02HFは、RL0ハードラッチ乱数値レジスタ2に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL02HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL02HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[1]に格納されるデータRL01HFは、RL0ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL01HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL01HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[0]に格納されるデータRL00HFは、RL0ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図38(B)に示す例では、乱数値が取り込まれていない場合には、データRL00HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL00HFは、初期値として”0”が設定されている。
図39(A)は、RLハードラッチフラグレジスタ1(RLHF1)の構成例を示している。図39(B)は、RLハードラッチフラグレジスタ1(RLHF1)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RLハードラッチフラグレジスタ1(RLHF1)のビット[7−6]およびビット[3−2]のビット値は必ず”0”とされる。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[5]に格納されるデータRL31HFは、RL3ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL31HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL31HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[4]に格納されるデータRL30HFは、RL3ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL30HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL30HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に格納されるデータRL21HFは、RL2ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL21HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL21HFは、初期値として”0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に格納されるデータRL20HFは、RL2ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL20HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRL20HFは、初期値として”0”が設定されている。
図40(A)は、RSハードラッチフラグレジスタ(RSHF)の構成例を示している。図40(B)は、RSハードラッチフラグレジスタ(RSHF)に格納されるデータの各ビットにおける設定内容の一例を示している。なお、RSハードラッチフラグレジスタ(RSHF)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RSハードラッチフラグレジスタ(RSHF)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示している。
RSハードラッチフラグレジスタ(RSHF)のビット番号[3]に格納されるデータRS3HFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRS3HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS3HFは、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[2]に格納されるデータRS2HFは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRS2HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS2HFは、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[1]に格納されるデータRS1HFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRS1HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS1HFは、初期値として”0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[0]に格納されるデータRS0HFは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRS0HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。なお、データRS0HFは、初期値として”0”が設定されている。
図41(A)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)の構成例を示している。図41(B)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図41において、mは0〜3の値をとる。図41(B)に示すように、RL0ハードラッチ乱数値レジスタm(RL0mHV)のビット番号[15−0]に格納されるデータRL0mHV15〜RL0mHV0は、外部端子入力により取り込まれた16ビット乱数RL0の値が格納される。なお、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに”1”がセットされる。
図42(A)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)の構成例を示している。図42(B)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図42において、mは0〜3の値をとる。図42(B)に示すように、RL1ハードラッチ乱数値レジスタm(RL1mHV)のビット番号[15−0]に格納されるデータRL1mHV15〜RL1mHV0は、外部端子入力により取り込まれた16ビット乱数RL1の値が格納される。なお、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに”1”がセットされる。
図43(A)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)の構成例を示している。図43(B)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図43において、mは0〜3の値をとる。図43(B)に示すように、RL2ハードラッチ乱数値レジスタm(RL2mHV)のビット番号[15−0]に格納されるデータRL2mHV15〜RL2mHV0は、外部端子入力により取り込まれた16ビット乱数RL2の値が格納される。なお、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに”1”がセットされる。
図44(A)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)の構成例を示している。図44(B)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図44において、mは0〜3の値をとる。図44(B)に示すように、RL3ハードラッチ乱数値レジスタm(RL3mHV)のビット番号[15−0]に格納されるデータRL3mHV15〜RL3mHV0は、外部端子入力により取り込まれた16ビット乱数RL3の値が格納される。なお、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに”1”がセットされる。
図45(A)は、RSnハードラッチ乱数値レジスタ(RSnHV)の構成例を示している。図45(B)は、RSnハードラッチ乱数値レジスタ(RSnHV)に格納されるデータの各ビットにおける格納内容の一例を示している。なお、図45において、nは0〜3の値をとる。図45(B)に示すように、RSnハードラッチ乱数値レジスタ(RLnHV)のビット番号[70]に格納されるデータRSnHV7〜RSnHV0は、外部端子入力により取り込まれた8ビット乱数RSnの値が格納される。なお、乱数値が取り込まれると、RSハードラッチフラグレジスタ(RSHF)の該当するビットに”1”がセットされる。
図4に示す遊技制御用マイクロコンピュータ560が備えるタイマ回路509は、8ビットプログラマブルタイマであり、遊技制御用マイクロコンピュータ560は、タイマ回路509として、8ビットのカウンタを3チャネル備える。この実施の形態では、タイマ回路509を用いてユーザプログラムによる設定により、リアルタイム割り込み要求や時間計測を行うことが可能である。
図4に示す遊技制御用マイクロコンピュータ560が備える割り込みコントローラ510は、PI5/XINT端子からの外部割り込み要求や、内蔵の周辺回路(例えば、シリアル通信回路512、乱数回路508a,508b、タイマ回路509)からの割り込み要求を制御する回路である。
図4に示す遊技制御用マイクロコンピュータ560が備えるパラレル入力ポート511は、8ビット幅の入力専用ポート(PIP)を内蔵する。また、図4に示す遊技制御用マイクロコンピュータ560が備えるパラレル出力ポート513は、11ビット幅の出力専用ポート(POP)を内蔵する。
図4に示す遊技制御用マイクロコンピュータ560が備えるシリアル通信回路512は、外部に対する入出力において非同期シリアル通信を行う回路である。なお、遊技制御用マイクロコンピュータ560は、シリアル通信回路512として、送受信両用の1チャネルの回路と、送信用のみの3チャネルの回路とを備える。なお、例えば、送受信両用の回路については、例えば、双方向の通信が必要となる遊技制御用マイクロコンピュータ560と払出制御基板37が搭載する払出制御用マイクロコンピュータとの間の通信に用いるようにし、送信用のみの回路については、例えば、一方向の通信でよい遊技制御用マイクロコンピュータ560から演出制御用マイクロコンピュータ100に対する通信に用いるようにする。
図4に示す遊技制御用マイクロコンピュータ560が備えるアドレスデコード回路514は、遊技制御用マイクロコンピュータ560の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、遊技制御用マイクロコンピュータ560の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU56からのアクセスが可能となる。
次に、遊技機の動作について説明する。まず、この実施の形態では、既に説明したように、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときに、ユーザリセットを発生させるかシステムリセットを発生させるかを可能である(図12参照)。図46は、リセット設定(KRES)での設定内容によるリセット動作の違いを説明するための説明図である。
まず、図46(A)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにシステムリセットを発生させるように設定した場合について説明する。この場合、図46(A)に示すように、遊技機に対して電源が投入され電力供給が開始されると、遊技制御用マイクロコンピュータ56は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定など遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1001)。具体的には、プログラム管理エリアの図12に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図13〜図17に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。なお、図46(A)に示す例では、遊技制御用マイクロコンピュータ56は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてシステムリセットを設定する。また、プログラム管理エリアの設定内容は予め遊技機の製作時に遊技機製造メーカ(ユーザ)によって設定されているものとする。
遊技制御用マイクロコンピュータ560の各種設定を完了すると、遊技制御用マイクロコンピュータ56は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1002)。ステップS1002で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップS1003に移行し、認証コードが正しくなければ、CPU56を停止する。なお、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図18に示すセキュリティ時間設定(KSES)の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図18に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1001の設定が行われることによりセキュリティモード時間が設定される。なお、認証コードは、予め遊技機の製作時の内蔵ROM54への書き込み時に遊技機製造メーカ(ユーザ)によってユーザプログラムとともに書き込まれているものとする。
そして、セキュリティチェックを終了すると、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図48のメイン処理の実行を開始する。
次いで、ユーザプログラムが実行されているときに(具体的には、後述する図48のメイン処理内のループ処理や図49のタイマ割込処理の実行中に)、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したものとする。図46(A)に示す例では、ステップS1001で内部リセット動作の設定としてシステムリセットが設定されていることから、タイムアウト信号やIAT信号の発生にもとづいてシステムリセットが発生する。
そして、ステップS1001と同様に、遊技制御用マイクロコンピュータ56は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定など遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1005)。また、遊技制御用マイクロコンピュータ560の各種設定を完了すると、ステップS1002と同様に、遊技制御用マイクロコンピュータ56は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1006)。
そして、セキュリティチェックを終了すると、ステップS1003と同様に、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図48のメイン処理の実行を再び開始する。
以降、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1004〜S1007の動作が実行される。なお、図46(A)において、ステップS1001,S1002の具体的な処理内容とステップS1005,S1006の具体的な処理内容とは同じである。
次に、図46(B)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにユーザリセットを発生させるように設定した場合について説明する。この場合、図46(B)に示すように、遊技機に対して電源が投入され電力供給が開始されると、遊技制御用マイクロコンピュータ56は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定など遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に行う(ステップS1011)。具体的には、プログラム管理エリアの図12に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図13〜図17に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。なお、図46(B)に示す例では、遊技制御用マイクロコンピュータ56は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてユーザリセットを設定する。また、プログラム管理エリアの設定内容は予め遊技機の製作時に遊技機製造メーカ(ユーザ)によって設定されているものとする。
遊技制御用マイクロコンピュータ560の各種設定を完了すると、遊技制御用マイクロコンピュータ56は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1012)。ステップS1012で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップS1013に移行し、認証コードが正しくなければ、CPU56を停止する。なお、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図18に示すセキュリティ時間設定(KSES)の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図18に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1011の設定が行われることによりセキュリティモード時間が設定される。なお、認証コードは、予め遊技機の製作時の内蔵ROM54への書き込み時に遊技機製造メーカ(ユーザ)によってユーザプログラムとともに書き込まれているものとする。
そして、セキュリティチェックを終了すると、遊技制御用マイクロコンピュータ560は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図48のメイン処理の実行を開始する。
次いで、ユーザプログラムが実行されているときに(具体的には、後述する図48のメイン処理内のループ処理や図49のタイマ割込処理の実行中に)、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したものとする。図46(B)に示す例では、ステップS1011で内部リセット動作の設定としてユーザリセットが設定されていることから、タイムアウト信号やIAT信号の発生にもとづいてユーザリセットが発生する。
ユーザリセットが発生した場合には、ステップS1011の遊技制御用マイクロコンピュータ560の各種設定やステップS1012のセキュリティチェックは実行されず、遊技制御用マイクロコンピュータ560の内部回路のうち、CPUコア、タイマ回路509、フリーランカウンタ回路507、演算回路505、パラレル入力ポート511、パラレル出力ポート513、シリアル通信回路512、および割り込みコントローラ510などを初期化する。そして、そのままユーザプログラムの先頭のアドレスに戻り、ユーザプログラムの実行が先頭のアドレスから再び開始される(ステップS1015)。具体的には、後述する図48のメイン処理の実行を再び開始する。
以降、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1014〜S1015の動作が実行される。
また、この実施の形態では、遊技制御用マイクロコンピュータ560は、ユーザプログラムの実行中に内蔵RAM領域に格納されているデータを読み出す場合、そのデータが格納されている内蔵RAM領域の上位および下位全てのアドレスを指定するのではなく、アドレスの下位のみを指定してデータを読み出すことが可能である。図47は、内蔵RAM領域に格納されているデータの読み出し方の例を示す説明図である。この実施の形態では、ユーザプログラムで参照されるデータは、内蔵RAM領域のうちのF000H〜F0FFH領域に格納されるものとし、データ格納領域のアドレスの上位が必ずF0Hとなるものとする。また、遊技制御用マイクロコンピュータ560は、データ格納領域の上位アドレスを固定値として格納しておくための専用のレジスタ(Qレジスタ)を備え、Qレジスタには固定値F0Hが設定されるものとする。
図47に示す例では、内蔵RAM領域のアドレスF020Hに格納されているデータを読み出す場合が示されている。この場合、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を設定する処理が実行される(後述するステップS5A参照)。
なお、Qレジスタの初期値設定は、遊技機に対して電源が投入され電力供給が開始されたときに行うハードウェア的な自動設定のみでもよいし、ユーザプログラムの開始時に実行されるユーザプログラムによる設定のみでもよい。
次に、システムチェックを実行した後、ユーザモードに移行した後にユーザプログラムに従って実行される処理を説明する。ユーザモードに移行すると、遊技制御用マイクロコンピュータ560は、メイン処理の実行を開始する。
図48は、主基板31における遊技制御用マイクロコンピュータ560が実行するメイン処理を示すフローチャートである。メイン処理において、CPU56は、まず、必要な初期設定を行う。初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードの設定を行い(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスの初期化(内蔵デバイス(内蔵周辺回路)であるタイマ回路509、パラレル入力ポート511およびパラレル出力ポート513の初期化など)を行った後(ステップS4)、RAMをアクセス可能状態に設定する(ステップS5)。
次いで、CPU56は、Qレジスタに初期値F0Hをセットする(ステップS5A)。すなわち、ステップS5が実行されてRAM55をアクセス可能状態に設定したタイミングで、Qレジスタに初期値F0Hがセットされる。
次いで、CPU56は、入力ポートを介して入力されるクリアスイッチ(例えば、電源基板に搭載されている。)の出力信号(クリア信号)の状態を確認する(ステップS6)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理(ステップS10〜S15)を実行する。
クリアスイッチがオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理(電源断処理))が行われたか否か確認する(ステップS7)。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。バックアップRAM領域にバックアップデータがあるか否かは、例えば、電源断処理においてバックアップRAM領域に設定されるバックアップ監視タイマの値が判定値(例えば2)と同じ値になっていることによって、電力供給停止時処理の処理結果が保存されていることを確認できる。なお、バックアップ監視タイマに代えて、例えば、電源断処理においてバックアップフラグをセットするようにし、ステップS7では、バックアップフラグがセットされているか否かを確認するようにしてもよい。
電力供給停止時処理が行われたことを確認したら、CPU56は、バックアップRAM領域のデータチェックを行う(ステップS8)。この実施の形態では、データチェックとしてパリティチェックを行う。よって、ステップS8では、算出したチェックサムと、電力供給停止時処理で同一の処理によって算出され保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理(ステップS41〜S43の処理)を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS41)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS42)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS41およびS42の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグ、確変フラグ、時短フラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
また、CPU56は、電力供給復旧時の初期化コマンドとしての停電復旧指定コマンドを送信する(ステップS43)。また、CPU56は、バックアップRAMに保存されている表示結果(確変大当り、通常大当り、突然確変大当り、小当り、またははずれ)を指定した表示結果指定コマンドを演出制御基板80に対して送信する(ステップS44)。そして、ステップS14Aに移行する。
なお、この実施の形態では、バックアップRAM領域には、後述する変動時間タイマの値も保存される。従って、停電復旧した場合には、ステップS44で表示結果指定コマンドが送信された後、保存していた変動時間タイマの値の計測を再開して特別図柄の変動表示が再開されるとともに、保存していた変動時間タイマの値がタイムアウトしたときに、さらに後述する図柄確定指定コマンドが送信される。また、この実施の形態では、バックアップRAM領域には、後述する特別図柄プロセスフラグの値も保存される。従って、停電復旧した場合には、保存されている特別図柄プロセスフラグの値に応じたプロセスから特別図柄プロセス処理が再開される。
なお、停電復旧時に必ず表示結果指定コマンドを送信するのではなく、CPU56は、まず、バックアップRAM領域に保存している変動時間タイマの値が0であるか否かを確認するようにしてもよい。そして、変動時間タイマの値が0でなければ、変動中に停電した場合であると判断して、表示結果指定コマンドを送信するようにし、変動時間タイマが0であれば、停電時に変動中の状態ではなかったと判断して、表示結果指定コマンドを送信しないようにしてもよい。
また、CPU56は、まず、バックアップRAM領域に保存している特別図柄プロセスフラグの値が3であるか否かを確認するようにしてもよい。そして、特別図柄プロセスフラグの値が3であれば、変動中に停電した場合であると判断して、表示結果指定コマンドを送信するようにし、特別図柄プロセスフラグが3でなければ、停電時に変動中ではなかったと判断して、表示結果指定コマンドを送信しないようにしてもよい。
なお、この実施の形態では、バックアップ監視タイマ(または、バックアップフラグ)とチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否か確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップ監視タイマ(または、バックアップフラグ)とチェックデータとのいずれかを、遊技状態復旧処理を実行するための契機としてもよい。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAMクリア処理によって、所定のデータ(例えば、普通図柄当り判定用乱数を生成するためのカウンタのカウント値のデータ)は0に初期化されるが、任意の値またはあらかじめ決められている値に初期化するようにしてもよい。また、RAM55の全領域を初期化せず、所定のデータ(例えば、普通図柄当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。
ステップS11およびS12の処理によって、例えば、普通図柄当り判定用乱数カウンタ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
また、CPU56は、サブ基板(主基板31以外のマイクロコンピュータが搭載された基板。)を初期化するための初期化指定コマンド(遊技制御用マイクロコンピュータ560が初期化処理を実行したことを示すコマンドでもある。)をサブ基板に送信する(ステップS13)。例えば、演出制御用マイクロコンピュータ100は、初期化指定コマンドを受信すると、演出表示装置9において、遊技機の制御の初期化がなされたことを報知するための画面表示、すなわち初期化報知を行う。
そして、ステップS15において、CPU56は、所定時間(例えば4ms)毎に定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているタイマ回路509のレジスタの設定を行なう。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜S15)が完了すると、CPU56は、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)を繰り返し実行する。表示用乱数更新処理および初期値用乱数更新処理を実行するときには割込禁止状態に設定し(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態に設定する(ステップS19)。この実施の形態では、表示用乱数とは、大当りとしない場合の特別図柄の停止図柄を決定するための乱数や大当りとしない場合にリーチとするか否かを決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。この実施の形態では、初期値用乱数とは、普通図柄に関して当りとするか否か決定するための乱数を発生するためのカウンタ(普通図柄当り判定用乱数発生カウンタ)のカウント値の初期値を決定するための乱数である。後述する遊技の進行を制御する遊技制御処理(遊技制御用マイクロコンピュータ560が、遊技機に設けられている演出表示装置、可変入賞球装置、球払出装置等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、普通図柄当り判定用乱数のカウント値が1周(普通図柄当り判定用乱数の取りうる値の最小値から最大値までの間の数値の個数分歩進したこと)すると、そのカウンタに初期値が設定される。
なお、この実施の形態では、リーチ演出は、演出表示装置9において可変表示される演出図柄を用いて実行される。また、特別図柄の表示結果を大当り図柄にする場合には、リーチ演出は常に実行される。特別図柄の表示結果を大当り図柄にしない場合には、遊技制御用マイクロコンピュータ560は、乱数を用いた抽選によって、リーチ演出を実行するか否か決定する。ただし、実際にリーチ演出の制御を実行するのは、演出制御用マイクロコンピュータ100である。
タイマ割込が発生すると、CPU56は、図49に示すステップS20〜S34のタイマ割込処理を実行する。タイマ割込処理において、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断検出処理を実行する(ステップS20)。電源断信号は、例えば電源基板に搭載されている電源監視回路が、遊技機に供給される電源の電圧の低下を検出した場合に出力する。そして、電源断検出処理において、CPU56は、電源断信号が出力されたことを検出したら、必要なデータをバックアップRAM領域に保存するための電力供給停止時処理を実行する。次いで、入力ドライバ回路58を介して、ゲートスイッチ32a、第1始動口スイッチ13a、第2始動口スイッチ14aおよびカウントスイッチ23の検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップ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回行われると、突然確変大当りであるか小当りであるかまでは認識できないので、遊技者に対して高確率状態(確変状態)を期待させることができ、遊技の興趣を向上させることができる。
図50および図51は、ステップS20の電源断処理の一例を示すフローチャートである。電源断処理において、遊技制御用マイクロコンピュータ560は、まず、電源断信号が出力されているか否か(オン状態になっているか否か)確認する(ステップS450)。オン状態でなければ、RAM55に形成されているバックアップ監視タイマの値を0クリアする(ステップS451)。オン状態であれば、バックアップ監視タイマの値を1増やす(ステップS452)。そして、バックアップ監視タイマの値が判定値(例えば2)と一致すれば(ステップS453)、ステップS454以降の電力供給停止時処理すなわち電力の供給停止のための準備処理を実行する。つまり、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理(電源断時制御処理)を実行する状態に移行する。なお、「RAMに形成されている」とは、RAM内の領域であることを意味する。
バックアップ監視タイマと判定値とを用いることによって、判定値に相当する時間だけ電源断信号のオン状態が継続したら、電力供給停止時処理が開始される。すなわち、ノイズ等で一瞬電源断信号のオン状態が発生しても、誤って電力供給停止時処理が開始されるようなことはない。なお、バックアップ監視タイマの値は、遊技機への電力供給が停止しても、所定期間はバックアップ電源によって保存される。従って、メイン処理におけるステップS8では、バックアップ監視タイマの値が判定値と同じ値になっていることによって、電力供給停止時処理の処理結果が保存されていることを確認できる。
電力供給停止時処理において、遊技制御用マイクロコンピュータ560は、パリティデータを作成する(ステップS454〜S463)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS454)、電力供給停止時でも内容が保存されるべきRAM領域の先頭アドレスに相当するチェックサム算出開始アドレスをポインタにセットする(ステップS455)。また、電力供給停止時でも内容が保存されるべきRAM領域の最終アドレスに相当するチェックサム算出回数をセットする(ステップS456)。
次いで、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS457)。演算結果をチェックサムデータエリアにストアするとともに(ステップS458)、ポインタの値を1増やし(ステップS459)、チェックサム算出回数の値を1減算する(ステップS460)。そして、ステップS457〜S460の処理を、チェックサム算出回数の値が0になるまで繰り返す(ステップS461)。
チェックサム算出回数の値が0になったら、遊技制御用マイクロコンピュータ560は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS462)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS463)。このデータが、電源投入時にチェックされるパリティデータになる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS471)。以後、内蔵RAM55のアクセスができなくなる。
さらに、遊技制御用マイクロコンピュータ560は、ROM54に格納されているポートクリア設定テーブルの先頭アドレスをポインタにセットする(ステップS472)。ポートクリア設定テーブルにおいて、先頭アドレスには処理数(クリアすべき出力ポートの数)が設定され、次いで、出力ポートのアドレスおよび出力値データ(クリアデータ:出力ポートの各ビットのオフ状態の値)が、処理数分の出力ポートについて順次設定されている。
遊技制御用マイクロコンピュータ560は、ポインタが指すアドレスのデータ(すなわち処理数)をロードする(ステップS473)。また、ポインタの値を1増やし(ステップS474)、ポインタが指すアドレスのデータ(すなわち出力ポートのアドレス)をロードする(ステップS475)。さらに、ポインタの値を1増やし(ステップS476)、ポインタが指すアドレスのデータ(すなわち出力値データ)をロードする(ステップS477)。そして、出力値データを出力ポートに出力する(ステップS478)。その後、処理数を1減らし(ステップS479)、処理数が0でなければステップS474に戻る。処理数が0であれば、すなわち、クリアすべき出力ポートを全てクリアしたら、タイマ割込を停止し(ステップS481)、ループ処理に入る。なお、出力ポートをクリアする処理をチェックサムデータを作成する処理の前に実行してもよい。例えば、CPU56は、ステップS453でYと判定した後、直ちにステップS472〜S480の出力ポートクリアの処理を実行するようにしてもよい。
ループ処理では、電源断信号がオフ状態になったか否かを監視する(ステップS482)。そして、電源断信号がオン状態の間は(ステップS482のY)、ステップS482の処理を繰り返し実行して待機する。
これに対して、ステップS482にて電源断信号がオフ状態となったときには(ステップS482のN)、所定の電断復旧時における設定を行った後(ステップS487)、図48に示すメイン処理の先頭にリターンする。一例として、ステップS487の処理では、CPU56に内蔵されたスタックポインタに電源断復旧時ベクタテーブルの記憶アドレスを格納し、遊技制御用タイマ割込み処理から復帰(リターン)させる。ここで、電源断復旧時ベクタテーブルは、ROM54に記憶された制御コード(遊技制御プログラム)の先頭アドレスを指定するものであればよい。図49に示すタイマ割込処理のような割込処理から復帰(リターン)するときには、スタックポインタで指定されるアドレスの記憶データが復帰アドレスとして読み出される。こうして、ステップS487の処理を実行した後には、CPU56により、ROM54に記憶されている制御コードの先頭から、遊技制御の実行を開始(再開)させることができる。
以上の処理によって、電力供給が停止する場合には、ステップS454〜S481の電力供給停止時処理が実行され、電力供給停止時処理が実行されたことを示すデータ(判定値になっているバックアップ監視タイマのおよびチェックサム)がバックアップRAMへストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされ、かつ、遊技制御処理を実行するためのタイマ割込が禁止状態に設定される。
なお、この実施の形態では、電源断処理においてチェックデータの生成や出力ポートクリアなどの処理を終了した後、ステップS482で繰り返し電源断信号の入力を確認する電源断待ちループに移行するが、このような電源断信号の入力を確認する構成とはしないようにしてもよい。この場合、例えば、ウオッチドッグタイマ(WTD)506bをユーザプログラムによって起動できるように設定した上で、電源断待ちループに入るときにウオッチドッグタイマ(WTD)506bを起動させるようにし、遊技機が完全に電源断状態とならず電源の電圧値が完全に落ちきらないときにはウオッチドッグタイマ(WTD)506bからのタイムアウト信号によるリセットが発生するようにしてもよい。
また、例えば、遊技機への電源投入時に電源断信号が入力されているか否かを確認し、入力されていれば無限ループに移行したり、その無限ループにおいて電源断信号の入力を確認し、その入力がなくなるまで無限ループを継続したりするように構成されている場合、上記と同様の態様で無限ループに入るときにウオッチドッグタイマ(WTD)506bを起動させ、同様の処理を行うように構成してもよい。
なお、ウオッチドッグタイマ(WTD)506bを起動させるように設定している場合には(ただし、上記のように電源断待ちループでのみウオッチドッグタイマ(WTD)506bを起動させるものを除く)、正常にCPU56が動作しているときにはタイムアウトしないように、ウオッチドッグタイマ(WTD)506bをクリアする信号を出力するようにプログラムされる。具体的には、内蔵レジスタエリアに設けられているWDTクリアレジスタ(図示せず)にクリアするための値を書き込むようにプログラムされる。
この実施の形態では、RAM55がバックアップ電源によって電源バックアップ(遊技機への電力供給が停止しても所定期間はRAM55の内容が保存されこと)されている。この例では、ステップS452〜S479の処理によって、バックアップ監視タイマの値とともに、電源断信号が出力されたときのRAM55の内容にもとづくチェックサムもRAM55のバックアップ領域に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御手段は、上述したステップS41〜S44の処理によって、RAM55に保存されているデータ(電力供給が停止した直前の遊技制御手段による制御状態である遊技状態を示すデータ(例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等)を含む)に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップ監視タイマの値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップS10〜S13の初期化処理が実行される。
以上のように、電力供給停止時処理(電力の供給停止のための準備処理)によって、遊技状態を電力供給が停止した直前の状態に戻すためのデータが確実に変動データ記憶手段(この例ではRAM55の一部の領域)に保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、遊技状態を電力供給が停止した直前の状態に戻すことができる。
また、電源断信号がオフ状態になった場合には、ステップS1に戻る。その場合、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップS41〜S44の復旧処理が実行される。よって、電力供給停止時処理を実行した後に払出制御基板37からの電源断信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。
なお、図46、図48〜図51に示すような態様で遊技機が動作することによって、この実施の形態では、所定の処理(本例では、図48に示すメイン処理のステップS16〜S19のループ処理と、図49のタイマ割込処理)の実行中に所定事象が発生(IAT回路506aからIAT信号を入力、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力)したときにRAM55(バックアップRAM)の記憶内容を初期化する初期化処理を実行する。具体的には、図48に示すメイン処理のステップS16〜S19のループ処理や、図49のタイマ割込処理の実行中に、IAT回路506aからIAT信号や、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したときには、図50および図51に示す電源断処理が実行されることなく、システムリセットまたはユーザリセット(図46のステップS1004,S1014参照)が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップS1007でユーザモードに移行されて図48に示すメイン処理の実行が再び開始され、ユーザリセットが発生した後にはステップS1015でユーザプログラムの先頭に戻り図48に示すメイン処理の実行が再び開始されるのであるが、バックアップ監視タイマ(または、バックアップフラグ)およびチェックデータのいずれもセットされていないことから、図48に示すメイン処理でステップS10に移行して初期化処理が実行されることになる。
なお、「所定の処理」とは、遊技機への電源投入時の初期化処理や復旧処理が実行された後、遊技可能となった状態で実行されている処理であり、上記に説明したように、具体的には、図48に示すメイン処理のステップS16〜S19のループ処理と、図49のタイマ割込処理とが該当する。ただし、電源電圧低下により電源断処理が実行されているときは所定の処理からは除かれる。
なお、図46、図48〜図51に示すような態様で遊技機が動作することによって、電力供給停止時処理(本例では、図50および図51に示す電源断処理)を実行した後に所定事象が発生(IAT回路506aからIAT信号を入力、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力)したときに、RAM55(バックアップRAM)の記憶内容にもとづいて制御状態を電力供給停止時処理を開始したときの状態に復旧させる復旧処理を実行する。具体的には、電源断信号を入力したことにもとづいて図50および図51に示す電源断処理を実行して図51のループ処理を実行しているときに、ちょうどIAT回路506aからIAT信号や、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したときには(ただし、IAT回路506aからIAT信号した場合には、何らかの原因で指定エリア外のプログラムを実行している状態となってしまった場合であるので、より正確には、電源断処理のループ処理に一度移行した後にIAT回路506aからIAT信号した場合に相当する)、IAT信号やタイムアウト信号を入力したことにもとづいてシステムリセットまたはユーザリセット(図46のステップS1004,S1014参照)が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップS1007でユーザモードに移行されて図48に示すメイン処理の実行が再び開始され、ユーザリセットが発生した後にはステップS1015でユーザプログラムの先頭に戻り図48に示すメイン処理の実行が再び開始されるのであるが、バックアップ監視タイマ(または、バックアップフラグ)およびチェックデータの両方がセットされていることから、図48に示すメイン処理でステップS7およびステップS8でいずれもYと判定されてステップS41〜S44の復旧処理が実行されることになる。
図52は、この実施の形態で用いられる各ソフトウェア乱数を示す説明図である。各ソフトウェア乱数は、以下のように使用される。なお、前述したように、この実施の形態では、大当りとするか否かを判定するための大当り判定用乱数(ランダムR)については、16ビット乱数回路508bが出力するハードウェア乱数が用いられる。
(1)ランダム1(MR1):大当りの種類(後述する通常大当り、確変大当り、突然確変大当り)を決定する(大当り種別判定用)
(2)ランダム2(MR2):変動パターンの種類(種別)を決定する(変動パターン種別判定用)
(3)ランダム3(MR3):変動パターン(変動時間)を決定する(変動パターン判定用)
(4)ランダム4(MR4):普通図柄にもとづく当りを発生させるか否か決定する(普通図柄当り判定用)
(5)ランダム5(MR5):ランダム4の初期値を決定する(ランダム4初期値決定用)
なお、この実施の形態では、大当り判定用乱数(ランダムR)についてのみ乱数回路から抽出したハードウェア乱数を用い、それ以外の乱数についてはソフトウェア乱数を用いる場合を示しているが、この実施の形態で示したものにかぎられない。例えば、大当り判定用乱数(ランダムR)に加えて図52に示すランダム1〜5の全てについて乱数回路から抽出したハードウェア乱数を用いるようにしてもよい。また、図52に示すランダム1〜5のうちの一部の乱数についてのみ乱数回路から抽出したハードウェア乱数を用い、それ以外についてはソフトウェア乱数を用いるように構成しても構わない。
なお、この実施の形態では、変動パターンは、まず、変動パターン種別判定用乱数(ランダム2)を用いて変動パターン種別を決定し、変動パターン判定用乱数(ランダム3)を用いて、決定した変動パターン種別に含まれるいずれかの変動パターンに決定する。そのように、この実施の形態では、2段階の抽選処理によって変動パターンが決定される。
なお、変動パターン種別とは、複数の変動パターンをその変動態様の特徴に従ってグループ化したものである。例えば、複数の変動パターンをリーチの種類でグループ化して、ノーマルリーチを伴う変動パターンを含む変動パターン種別と、スーパーリーチAを伴う変動パターンを含む変動パターン種別と、スーパーリーチBを伴う変動パターンを含む変動パターン種別とに分けてもよい。また、例えば、複数の変動パターンを擬似連の再変動の回数でグループ化して、擬似連を伴わない変動パターンを含む変動パターン種別と、再変動1回の変動パターンを含む変動パターン種別と、再変動2回の変動パターンを含む変動パターン種別と、再変動3回の変動パターンを含む変動パターン種別とに分けてもよい。また、例えば、複数の変動パターンを擬似連や滑り演出などの特定演出の有無でグループ化してもよい。
図49に示された遊技制御処理におけるステップS23では、遊技制御用マイクロコンピュータ560は、(1)の大当り種別判定用乱数、および(4)の普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数(ランダム2、ランダム3)または初期値用乱数(ランダム5)である。なお、遊技効果を高めるために、上記の乱数以外の乱数も用いてもよい。例えば、大当り種別判定用乱数(ランダム1)の初期値を決定するための初期値決定用乱数を設けるようにしてもよい。また、この実施の形態では、大当り判定用乱数として、遊技制御用マイクロコンピュータ560に内蔵されたハードウェア(遊技制御用マイクロコンピュータ560の外部のハードウェアでもよい。)が生成する乱数を用いる。
図53(A)は、大当り判定テーブルを示す説明図である。大当り判定テーブルとは、ROM54に記憶されているデータの集まりであって、ランダムRと比較される大当り判定値が設定されているテーブルである。大当り判定テーブルには、通常状態(確変状態でない遊技状態)において用いられる通常時大当り判定テーブルと、確変状態において用いられる確変時大当り判定テーブルとがある。通常時大当り判定テーブルには、図53(A)の左欄に記載されている各数値が設定され、確変時大当り判定テーブルには、図53(A)の右欄に記載されている各数値が設定されている。図53(A)に記載されている数値が大当り判定値である。
図53(B),(C)は、小当り判定テーブルを示す説明図である。小当り判定テーブルとは、ROM54に記憶されているデータの集まりであって、ランダムRと比較される小当り判定値が設定されているテーブルである。小当り判定テーブルには、第1特別図柄の変動表示を行うときに用いられる小当り判定テーブル(第1特別図柄用)と、第2特別図柄の変動表示を行うときに用いられる小当り判定テーブル(第2特別図柄用)とがある。小当り判定テーブル(第1特別図柄用)には、図53(B)に記載されている各数値が設定され、小当り判定テーブル(第2特別図柄用)には、図53(C)に記載されている各数値が設定されている。また、図53(B),(C)に記載されている数値が小当り判定値である。
なお、第1特別図柄の変動表示を行う場合にのみ小当りと決定するようにし、第2特別図柄の変動表示を行う場合には小当りを設けないようにしてもよい。この場合、図53(C)に示す第2特別図柄用の小当り判定テーブルは設けなくてもよい。この実施の形態では、遊技状態が確変状態に移行されているときには主として第2特別図柄の変動表示が実行される。遊技状態が確変状態に移行されているときにも小当りが発生するようにし、確変となるか否かを煽る演出を行うように構成すると、現在の遊技状態が確変状態であるにもかかわらず却って遊技者に煩わしさを感じさせてしまう。そこで、第2特別図柄の変動表示中は小当りが発生しないように構成すれば、遊技状態が確変状態である場合には小当りが発生しにくくし必要以上に確変に対する煽り演出を行わないようにすることができ、遊技者に煩わしさを感じさせる事態を防止することができる。
CPU56は、所定の時期に、16ビット乱数回路508bのカウント値を抽出して抽出値を大当り判定用乱数(ランダムR)の値とするのであるが、大当り判定用乱数値が図53(A)に示すいずれかの大当り判定値に一致すると、特別図柄に関して大当り(後述する通常大当り、確変大当り、突然確変大当り)にすることに決定する。また、大当り判定用乱数値が図53(B),(C)に示すいずれかの小当り判定値に一致すると、特別図柄に関して小当りにすることに決定する。なお、図53(A)に示す「確率」は、大当りになる確率(割合)を示す。また、図53(B),(C)に示す「確率」は、小当りになる確率(割合)を示す。また、大当りにするか否か決定するということは、大当り遊技状態に移行させるか否か決定するということであるが、第1特別図柄表示器8aまたは第2特別図柄表示器8bにおける停止図柄を大当り図柄にするか否か決定するということでもある。また、小当りにするか否か決定するということは、小当り遊技状態に移行させるか否か決定するということであるが、第1特別図柄表示器8aまたは第2特別図柄表示器8bにおける停止図柄を小当り図柄にするか否か決定するということでもある。
なお、この実施の形態では、図53(B),(C)に示すように、小当り判定テーブル(第1特別図柄用)を用いる場合には300分の1の割合で小当りと決定されるのに対して、小当り判定テーブル(第2特別図柄)を用いる場合には3000分の1の割合で小当りと決定される場合を説明する。従って、この実施の形態では、第1始動入賞口13に始動入賞して第1特別図柄の変動表示が実行される場合には、第2始動入賞口14に始動入賞して第2特別図柄の変動表示が実行される場合と比較して、「小当り」と決定される割合が高い。
図53(D),(E)は、ROM54に記憶されている大当り種別判定テーブル131a,131bを示す説明図である。このうち、図53(D)は、遊技球が第1始動入賞口13に入賞したことにもとづく保留記憶を用いて(すなわち、第1特別図柄の変動表示が行われるとき)大当り種別を決定する場合の大当り種別判定テーブル(第1特別図柄用)131aである。また、図53(E)は、遊技球が第2始動入賞口14に入賞したことにもとづく保留記憶を用いて(すなわち、第2特別図柄の変動表示が行われるとき)大当り種別を決定する場合の大当り種別判定テーブル(第2特別図柄用)131bである。
大当り種別判定テーブル131a,131bは、可変表示結果を大当り図柄にする旨の判定がなされたときに、大当り種別判定用の乱数(ランダム1)にもとづいて、大当りの種別を「通常大当り」、「確変大当り」、「突然確変大当り」のうちのいずれかに決定するために参照されるテーブルである。なお、この実施の形態では、図53(D),(E)に示すように、大当り種別判定テーブル131aには「突然確変大当り」に対して10個の判定値が割り当てられている(40分の10の割合で突然確変大当りと決定される)のに対して、大当り種別判定テーブル131bには「突然確変大当り」に対して3個の判定値が割り当てられている(40分の3の割合で突然確変大当りと決定される)場合を説明する。従って、この実施の形態では、第1始動入賞口13に始動入賞して第1特別図柄の変動表示が実行される場合には、第2始動入賞口14に始動入賞して第2特別図柄の変動表示が実行される場合と比較して、「突然確変大当り」と決定される割合が高い。なお、第1特別図柄用の大当り種別判定テーブル131aにのみ「突然確変大当り」を振り分けるようにし、第2特別図柄用の大当り種別判定テーブル131bには「突然確変大当り」の振り分けを行わない(すなわち、第1特別図柄の変動表示を行う場合にのみ、「突然確変大当り」と決定される場合がある)ようにしてもよい。
なお、この実施の形態では、図53(D),(E)に示すように、所定量の遊技価値を付与する第1特定遊技状態として2ラウンドの突然確変大当りと、該遊技価値よりも多い量の遊技価値を付与する第2特定遊技状態として15ラウンドの大当り(確変大当りまたは通常大当り)と決定する場合を説明するが、第1特別図柄の変動表示が実行される場合に高い割合で第1特定遊技状態とすることに決定する場合を示しているが、付与される遊技価値は、この実施の形態で示したようなラウンド数に限られない。例えば、第1特定遊技状態と比較して、遊技価値として1ラウンドあたりの大入賞口への遊技球の入賞数(カウント数)の許容量を多くした第2特定遊技状態を決定するようにしてもよい。また、例えば、第1特定遊技状態と比較して、遊技価値として大当り中の1回あたりの大入賞口の開放時間を長くした第2特定遊技状態を決定するようにしてもよい。また、例えば、同じ15ラウンドの大当りであっても、1ラウンドあたり大入賞口を1回開放する第1特定遊技状態と、1ラウンドあたり大入賞口を複数回開放する第2特定遊技状態とを用意し、大入賞口の開放回数が実質的に多くなるようにして第2特定遊技状態の遊技価値を高めるようにしてもよい。この場合、例えば、第1特定遊技状態または第2特定遊技状態いずれの場合であっても、大入賞口を15回開放したときに(この場合、第1特定遊技状態の場合には15ラウンド全てを終了し、第2特定遊技状態の場合には未消化のラウンドが残っていることになる)、大当りがさらに継続するか否かを煽るような態様の演出(いわゆるランクアップボーナスの演出)を実行するようにしてもよい。そして、第1特定遊技状態の場合には内部的に15ラウンド全てを終了していることから大当り遊技を終了し、第2特定遊技状態の場合には内部的に未消化のラウンドが残っていることから、大当り遊技が継続する(恰も15回開放の大当りを終了した後にさらにボーナスで大入賞口の開放が追加で始まったような演出)ようにしてもよい。
この実施の形態では、図53(D),(E)に示すように、大当り種別として、「通常大当り」、「確変大当り」および「突然確変大当り」がある。
「確変大当り」とは、15ラウンドの大当り遊技状態に制御し、その大当り遊技状態の終了後に確変状態に移行させる大当りである(この実施の形態では、確変状態に移行されるとともに時短状態にも移行される。後述するステップS170,S171参照)。そして、確変状態に移行した後、次の大当りが発生するまで確変状態が維持される(後述するステップS134参照)。
また、「通常大当り」とは、15ラウンドの大当り遊技状態に制御し、その大当り遊技状態の終了後に確変状態に移行されず、時短状態にのみ移行される大当りである(後述するステップS167参照)。そして、時短状態に移行した後、特別図柄および演出図柄の変動表示の実行を所定回数(例えば、100回)終了するまで時短状態が維持される(後述するステップS142〜S145参照)。なお、この実施の形態では、時短状態に移行した後、所定回数の変動表示の実行を終了する前に大当りが発生した場合にも、時短状態が終了する(後述するステップS134参照)。
また、「突然確変大当り」とは、「確変大当り」や「通常大当り」と比較して大入賞口の開放回数が少ない回数(この実施の形態では0.1秒間の開放を2回)まで許容される大当りである。すなわち、「突然確変大当り」となった場合には、2ラウンドの大当り遊技状態に制御される。そして、この実施の形態では、その2ラウンドの大当り遊技状態の終了後に確変状態に移行される(この実施の形態では、確変状態に移行されるとともに時短状態にも移行される。後述するステップS170,S171参照)。そして、確変状態に移行した後、次の大当りが発生するまで確変状態が維持される(後述するステップS134参照)。
なお、前述したように、この実施の形態では、「小当り」となった場合にも、大入賞口の開放が0.1秒間ずつ2回行われ、「突然確変大当り」による大当り遊技状態と同様の制御が行われる。そして、「小当り」となった場合には、大入賞口の2回の開放が終了した後、遊技状態は変化せず、「小当り」となる前の遊技状態が維持される(後述するステップS147〜S151参照)。そのようにすることによって、「突然確変大当り」であるか「小当り」であるかを認識できないようにし、遊技の興趣を向上させている。
大当り種別判定テーブル131a,131bには、ランダム1の値と比較される数値であって、「通常大当り」、「確変大当り」、「突然確変大当り」のそれぞれに対応した判定値(大当り種別判定値)が設定されている。CPU56は、ランダム1の値が大当り種別判定値のいずれかに一致した場合に、大当りの種別を、一致した大当り種別判定値に対応する種別に決定する。
図54および図55は、主基板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となったことにもとづいて、後述するように、特別図柄表示制御処理において特別図柄の停止図柄を停止表示するための特別図柄表示制御データが特別図柄表示制御データ設定用の出力バッファに設定され(図56参照)、ステップ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)に更新する。
図56は、ステップS312,S314の始動口スイッチ通過処理を示すフローチャートである。このうち、図56(A)は、ステップS312の第1始動口スイッチ通過処理を示すフローチャートである。また、図56(B)は、ステップS314の第2始動口スイッチ通過処理を示すフローチャートである。
まず、図56(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)。
なお、既に、図23で説明したように、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット2−0の設定内容によりいずれの端子からの信号(ラッチ信号)にもとづいて、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチさせるかが設定されている。また、この実施の形態では、その設定された端子には、第1始動口スイッチ13aからの検出信号がラッチ信号として入力されているものとし、第1始動入賞口13への始動入賞が発生したタイミングでRL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチできるように構成されている。
そして、CPU56は、抽出したそれらのソフトウェア乱数および大当り判定用乱数(ランダムR)を、第1保留記憶バッファ(図57参照)における保存領域に格納する処理を実行する(ステップS206A)。なお、変動パターン判定用乱数(ランダム3)を第1始動口スイッチ通過処理(始動入賞時)において抽出して保存領域にあらかじめ格納しておくのではなく、第1特別図柄の変動開始時に抽出するようにしてもよい。例えば、遊技制御用マイクロコンピュータ560は、後述する変動パターン設定処理において、変動パターン判定用乱数(ランダム3)を生成するための変動パターン判定用乱数カウンタから値を直接抽出するようにしてもよい。
図57は、保留記憶に対応する乱数等を保存する領域(保留記憶バッファ)の構成例を示す説明図である。図57に示すように、第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始動口スイッチ通過処理を終了する。すなわち、この実施の形態では、図23に示すプログラム管理エリアにおける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の処理は不要となる。
次に、図56(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)。
なお、既に、図25で説明したように、RL1ハードラッチ選択レジスタ(RL1LS)のビット2−0の設定内容によりいずれの端子からの信号(ラッチ信号)にもとづいて、RL1ハードラッチ乱数値レジスタ0(RL1HV0)に乱数値をラッチさせるかが設定されている。また、この実施の形態では、その設定された端子には、第2始動口スイッチ14aからの検出信号がラッチ信号として入力されているものとし、第2始動入賞口14への始動入賞が発生したタイミングでRL1ハードラッチ乱数値レジスタ0(RL1HV0)に乱数値をラッチできるように構成されている。
そして、CPU56は、抽出したそれらのソフトウェア乱数および大当り判定用乱数(ランダムR)を、第2保留記憶バッファ(図57参照)における保存領域に格納する処理を実行する(ステップ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”に設定され(図25で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の乱数抽出の処理を実行する。従って、この実施の形態では、乱数回路から数値データ(乱数値)を抽出するタイミングよりも前に、乱数回路の監視に関する設定が行われるように構成されている。
次に、演出制御手段の動作を説明する。図58は、演出制御基板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図柄の表示制御を実行する。
次いで、大当り図柄決定用乱数などの乱数を生成するためのカウンタのカウント値を更新する乱数更新処理を実行する(ステップS7007)。その後、ステップS7002に移行する。
以上に説明したように、この実施の形態によれば、所定事象が発生(本例では、IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)したことにもとづいて第1リセット(本例では、システムリセット)を発生させるか第2リセット(本例では、ユーザリセット)を発生させるかを設定可能である(図12に示すリセット設定(KRES)のビット7参照)。そして、第1リセットの発生後にはセキュリティチェックを実行する一方、第2リセットの発生後にはセキュリティチェックを実行しない。そのため、遊技機や遊技店の状況などに応じて所定事象が発生したときに行うリセットの種類を最適なものに設定できるので、遊技制御用マイクロコンピュータ560に関するセキュリティ性を向上させることができる。
なお、この実施の形態では、所定事象の発生として、IAT506aからのIAT信号を入力した場合と、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力した場合とを示しているが、この実施の形態で示したものにかぎらず、遊技制御用マイクロコンピュータ560をリセットすべき何らかのエラーなどの状況が発生したことにもとづいて、所定事象が発生したとしてリセットするものであってもよい。
また、この実施の形態によれば、所定事象の発生には、ウオッチドッグタイマ(WDT)506bのタイムアウトが含まれ、ウオッチドッグタイマ(WDT)506bを起動させるか否かを設定可能である(本例では、図12に示すリセット設定(KRES)のビット3−0に”0000”を設定する)。そして、ウオッチドッグタイマ(WDT)506bを起動させないと設定した場合であっても、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを設定可能である。具体的には、図12に示すリセット設定(KRES)において、ビット3−0に”0000”を設定していても、ビット7の設定を行うことによってリセットの種類を設定可能である。そのため、ウオッチドッグタイマ(WDT)506bの設定にかかわらず、所定事象が発生したことにもとづいて発生させるリセットの種類の設定を共通化することができる。
また、この実施の形態によれば、所定事象の発生には、指定された領域以外の領域に格納されたプログラムを実行する指定領域外実行(本例では、指定エリア外走行禁止(IAT)が含まれる。そして、遊技制御用マイクロコンピュータ560は、所定の処理として所定時間(本例では4ms)毎に発生するタイマ割込に応じて実行されるタイマ割込処理(図49に示すタイマ割込処理)の実行中に指定領域外実行が発生(本例では、IAT回路506aからIAT信号を入力)した場合に、RAM55(バックアップRAM)の記憶内容を初期化する(本例では、リセットの後、図48に示すステップS10が実行される)。そのため、意図しないプログラムが実行された場合のセキュリティ性を向上させることができる。
また、この実施の形態によれば、第1リセットを発生させると設定したときに、所定事象が発生して第1リセットを発生させた後、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを再度設定する。具体的には、図46(A)に示すように、システムリセットが発生したときに、ステップS1005が実行されて、遊技制御用マイクロコンピュータ560の各種設定がハードウェア的に再度実行されることにより、システムリセットとするかユーザリセットとするかが再度設定される。そのため、異常な状態から正常な状態に確実に復旧させることができる。
なお、この実施の形態では、具体的には、所定事象が発生(IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)してシステムリセットが発生した後に、内部リセットの設定を再度設定する場合(図46(A)のステップS1005参照)を示しているが、ユーザリセットが発生した場合にもステップS1005と同様の処理を実行して内部リセットの設定を再度設定するようにしてもよい。
また、この実施の形態によれば、16ビット乱数回路508bの数値保持手段(本例では、ハードラッチ乱数値レジスタやソフトラッチ乱数値レジスタ)が保持する数値データを更新するための乱数用クロック信号(本例では、外部クロック信号)の周波数の異常の発生と、数値保持手段が保持する数値データの更新状態とを監視可能な乱数回路監視手段(本例では、更新監視回路537)を備える。そのため、乱数用クロック信号の周波数の異常の発生を監視するとともに数値データの更新状態も監視できるので、遊技機が搭載する乱数回路(本例では、16ビット乱数回路508b)に関するセキュリティ性を向上させることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560が搭載する制御用CPU(本例では、CPU56)は、第1情報(本例では、データ格納領域の上位アドレス)と第2情報(本例では、データ格納領域の下位アドレス)とにもとづいて、読み出し対象のデータが格納された領域に対応するアドレスを特定し、特定したアドレスに対応する領域から読み出し対象のデータを読み出す。この場合、読み出し対象のデータを読み出すときに、格納手段(本例では、Qレジスタ)に格納された特定値(本例では、固定値として格納されている「F0H」)にもとづいて第1情報を特定するとともに、制御命令で指定された第2情報(図47に示す例では、LDQコマンド(プログラムされている命令の1つ)で指定された「20H」)を特定する。そのため、格納手段(本例では、Qレジスタ)を用いることにより、データ格納領域のアドレスのうちの固定部分(本例では、上位アドレス)を毎回コマンドで指定する必要がなくなるので、データを読み出すために処理命令を行う際の無駄(アドレスの共通部分を指定するプログラムの無駄)を削減することができる。
また、この実施の形態によれば、制御用CPU(本例では、CPU56)は、遊技機への電力供給が開始された後、RAM55へのアクセスが許可されるタイミングで(図48のステップS5参照)、RAM55に設けられた作業領域に対応するアドレスの一部を示す値(本例では、F0H)を特定値として格納手段(本例では、Qレジスタ)に格納する(図48のステップS5A参照)。そのため、RAM55へのアクセスが許可されるタイミングで格納手段に特定値が格納されることによって、それ以降にRAM55に設けられた作業領域に対応するアドレスを指定するためのプログラムの無駄を削減することができる。
なお、この実施の形態では、特定値の格納の仕方として、(1)RAM55へのアクセスを許可するタイミングで特定値を格納手段に格納する処理と、(2)常に格納手段に特定値が格納されている状態としている構成との両方を備える場合を示している。具体的には、この実施の形態では、ユーザプログラムの実行が開始され図48に示すメイン処理が開始されたときに、ユーザプログラムにより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保留記憶数加算指定コマンド)とを総称して始動口入賞指定コマンドともいう。
以下、先読み予告演出を実行可能に構成する場合の動作について説明する。
図59は、演出制御プロセス処理として、図58のステップS7005にて実行される処理の一例を示すフローチャートである。図59に示す演出制御プロセス処理において、演出制御用CPU101は、まず、先読み予告演出の有無や演出態様を決定する先読み予告決定処理を実行する(ステップS161)。
図60は、図59のステップS161にて実行される先読み予告決定処理の一例を示すフローチャートである。図60に示す先読み予告決定処理において、演出制御用CPU101は、まず、始動入賞時にその始動入賞の判定結果にもとづいて送信される始動入賞時コマンドを格納する始動入賞時受信コマンドバッファにおける記憶内容をチェックする(ステップS701)。そして、始動入賞時のコマンドのうち、少なくともいずれかとなる新たな受信コマンドがあるか否かを判定する(ステップS702)。例えば、始動入賞時受信コマンドバッファに少なくとも図柄指定コマンド、変動カテゴリコマンドまたは保留記憶数加算指定コマンド(第1保留記憶数加算指定コマンド、第2保留記憶数加算指定コマンド)のうち、いずれかが新たに格納されているか否かを確認することにより受信コマンドの有無を判定できる。いずれのコマンドも新たに受信していなければ(ステップS702;No)、そのまま先読み予告決定処理を終了する。
ステップS702にて受信コマンドがあると判定された場合には(ステップS702;Yes)、既に先読み予告演出を実行中であるか否かを判定する(ステップS703)。例えば、ステップS703の処理では、先読み予告演出の実行中であることを示す先読み予告実行中フラグがオンであるときに、先読み予告演出を実行中であると判定すればよい。先読み予告実行中フラグは、先読み予告演出が実行されるときにオン状態にセットされる。
この実施の形態では、既に先読み予告演出を実行中であるときには、さらに先読み予告演出を実行するための処理が行われないようにして、既に決定した演出態様で先読み予告演出が実行される。一方、可変表示態様が「非リーチ」に決定される旨の入賞時判定結果にもとづき先読み予告演出が実行されているときに、可変表示結果が「大当り」に決定される旨の入賞時判定結果やリーチを伴う変動パターンに決定される旨の入賞時判定結果が得られたときには、実行中の先読み予告演出からスーパーリーチや大当りの予告演出へと切り替えてもよい。なお、既に実行されている先読み予告演出の演出態様にかかわらず、さらに先読み予告演出を実行可能にしてもよい。
ステップS703にて先読み予告演出が実行中ではない場合には(ステップS703;No)、先読み予告演出の実行が制限される先読み予告制限中であるか否かを判定する(ステップS704)。ステップS704にて先読み予告制限中ではない場合には(ステップS704;No)、始動入賞の発生にもとづく受信コマンドの順序と内容をチェックして(ステップS706)、正常に受信できたか否かを判定する(ステップS707)。ステップS707の処理では、例えば始動入賞時の受信コマンドが順番通りであるか否か、欠落なくすべて受信できたか否か、図柄指定コマンドと変動カテゴリコマンドとの内容が整合しているか否かなどの確認を行い、いずれか1つでも否定された場合には、正常に受信できなかったと判定すればよい。なお、いずれか1つでも否定された場合に異常が発生したと判定するものに限定されず、例えばいずれか2つが否定された場合に異常が発生したと判定するようにしてもよい。あるいは、すべてが否定された場合に異常が発生したと判定するようにしてもよい。
ステップS707にて正常に受信できたと判定された場合には(ステップS707;Yes)、始動入賞時受信コマンドバッファに格納されている前回までの変動カテゴリコマンドをチェックして(ステップS708)、現在の保留記憶数(例えば、第1保留記憶数または第2保留記憶数)が「3」または「4」であり、かつ、前回までの変動カテゴリが非リーチハズレとなるもののみであるか否かを判定する(ステップS709)。すなわち、この実施の形態では、可変表示結果が「非リーチハズレ」となる保留データが2つまたは3つある場合には、その保留データを利用して連続予告演出を実行するようにしている。
なお、保留記憶数が連続予告演出を実行するのに十分な数であれば(例えば2以上であれば)、連続予告演出を実行できるようにしてもよい。例えば、後述する先読み予告パターンSYP3−1の連続予告演出(先読み予告演出)のように、演出態様が変化する予告パターン以外では、一連の演出であることを報知できる保留記憶数である場合に連続予告演出を実行するようにしてもよい。このようにすることで、連続予告演出を総合的な実行頻度を向上させることができる。
また、停止図柄予告以外の先読み予告演出を実行する場合には、可変表示結果が「非リーチハズレ」となる保留データが含まれている場合にも、連続予告演出を実行するようにしてもよい。このようにした場合、連続予告演出の実行途中でリーチが発生したり、「大当り」となることがあるので、意外性のある演出を実行できる。可変表示結果が「非リーチハズレ」となる保留データが含まれている場合に連続予告演出を実行するようする場合に、例えば、リーチを伴う可変表示においては、停止図柄予告以外の演出態様の連続予告演出が選択されるようにすればよい。このようにすることで、先読みの対象となる可変表示が実行さえる前の表示結果に関わらず連続予告演出を実行することができる。
例えば、ステップS708の処理では、最新の変動カテゴリコマンドよりも1つ前までに受信して始動入賞時受信コマンドバッファに格納されているデータの数、及び、変動カテゴリコマンドにより指定された変動カテゴリを読み取る。ステップS709の処理では、ステップS708における読取結果により、データの数が「3」または「4」であるか、非リーチハズレに対応した変動カテゴリを指定する変動カテゴリコマンドのみであるか否かを判定する。
ステップS709にて、現在の保留記憶数が「3」または「4」であり、かつ、り、かつ、前回までの変動カテゴリが非リーチハズレとなるもののみであると判定された場合には、(ステップS709;Yes)、先読み予告演出を実行するか否かと、先読み予告演出を実行する場合における先読み予告演出の演出態様に対応した先読み予告パターンとを決定する(ステップS710)。
一例として、ステップS710の処理では、先読み予告演出の有無と先読み予告パターンとを決定するための使用テーブルとして、予め用意された先読み予告決定テーブルを選択してセットする。先読み予告決定テーブルでは、予告対象となる可変表示に対応する始動入賞の発生にもとづいて送信された変動カテゴリコマンドの指定内容などに応じて、先読み予告種別決定用の乱数値と比較される数値(決定値)が、先読み予告演出を実行しない場合に対応する「実行なし」の決定結果や、先読み予告演出を実行する場合における複数の先読み予告パターンなどに、割り当てられていればよい。その後、演出制御用CPU101は、例えば、先読み予告決定用の乱数値を示す数値データを抽出し、その数値データにもとづいて、先読み予告決定テーブルを参照することにより、先読み予告演出の有無と先読み予告パターンとを決定すればよい。
ステップS710の処理では、例えば図61に示すような決定割合で、先読み予告演出の有無と先読み予告パターンとが決定されればよい。図61に示す決定割合の設定例では、変動カテゴリに応じて、先読み予告演出の有無や先読み予告パターンの決定割合を異ならせている。
この実施の形態では、先読み予告パターンとして、SYP1−1、SYP1−2、SYP2−1、SYP3−1の4種類が設けられている。先読み予告パターンSYP1−1及びSYP1−2は、予告の対象となる可変表示が実行されるまでの複数回の可変表示渡って演出表示装置9に予め定められた連続演出用のチャンス目を構成する飾り図柄が停止する停止図柄予告に対応した先読み予告パターンである。先読み予告パターンSYP1−1にもとづく停止図柄予告では、連続演出用のチャンス目として、図62(A)に示すチャンス目CA1〜CA8(チャンス目A)のいずれかが停止する。チャンス目Aは、図62(A)に示すように、左図柄と中図柄が同じ数字であり、右図柄のみが1つずれた数字の組合せとなっている。また、先読み予告パターンSYP1−2にもとづく停止図柄予告では、連続演出用のチャンス目として、図62(B)に示すチャンス目CB1〜CB6(チャンス目B)のいずれかが停止する。チャンス目Bは、図62(B)に示すように、並び数字の組合せとなっている。この実施の形態では、後述するように、チャンス目Aが停止する停止図柄予告が実行された場合よりも、チャンス目Bが停止する停止図柄予告が実行された場合の方が、大当りとなる可能性(大当り信頼度)が高くなっている。このようにすることで、停止図柄予告が実行されるときに、いずれのチャンス目が停止したかに遊技者を注目させることができ、遊技の興趣が向上する。
なお、チャンス目Aやチャンス目Bは、図62(A)、(B)に示すようなものに限定されず、それぞれが区別可能な予め定められた組合せであればよい。例えばチャンス目Aを通常図柄(非確変図柄)である偶数の数字の任意の組合せとして、チャンス目Bを確変図柄である奇数の数字の任意の組合せとしてもよい。このようにすることで、遊技者がいずれのチャンス目であるかを認識しやすくなる。
先読み予告パターンSYP2−1は、予告の対象となる可変表示が実行されるより前の可変表示中に、演出表示装置9における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象となる可変表示が実行されるまでその特殊な背景画像となる背景変化予告を実行することに対応した先読み予告パターンである。
先読み予告パターンSYP3−1は、チャンス目Aが停止する停止図柄予告が実行された後に、背景変化予告に変化する先読み予告演出を実行することに対応した先読み予告パターンである。
図61に示すように、この実施の形態では、変動カテゴリが「非リーチハズレ」、「リーチハズレ」、「突確・小当り」、「大当り」のいずれであるかによって先読み予告演出が実行される割合、先読み予告パターンの決定割合が異なっている。
具体的には、変動カテゴリが「リーチハズレ」である場合には、「非リーチハズレ」である場合よりも、先読み予告演出が実行される割合(「実行あり」以外に決定される割合)が高くなっており、変動カテゴリが「大当り」である場合には、「非リーチハズレ」、「リーチハズレ」、「突確・小当り」である場合よりも、先読み予告演出が実行される割合が高くなっている。このような設定により、先読み予告演出を実行することで、可変表示結果が「大当り」となることやリーチが実行されることを予告・示唆することができる。なお、変動カテゴリが「突確・小当り」である場合には、先読み予告演出が実行されたにも関わらず、実質的には出玉(賞球)が得られない「突確」や実質的には出玉(賞球)が得られないことに加えて遊技状態も変化しない「小当り」となって遊技者を落胆させてしまうことを防止するため、先読み予告演出を実行しないようにしてもよい。
また、図61に示す決定割合では、チャンス目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」)となったときに、始動入賞時受信コマンドバッファに格納されている図柄指定コマンドや変動カテゴリコマンドを読み出して先読み予告演出を実行するか否かを決定し、そのラウンドを実行中に先読み予告演出を実行するようにしてもよい。この場合、先読み予告演出として、連続した態様の演出ではなく、例えば、今回の大当り遊技状態の終了後に可変表示結果が「大当り」となることを確定的に報知する一発告知態様の演出を実行してもよい。
図60に示すステップS710の処理による決定にもとづいて、先読み予告演出を実行しない「実行なし」であるか否かを判定する(ステップS711)。このとき、「実行なし」以外であれば(ステップS711;No)、決定した先読み予告パターンに応じた先読み予告演出の実行を開始するための設定を行う(ステップS712)。ステップS712では、先読み予告演出を実行する可変表示の回数を示す先読み予告実行回数カウンタに保留記憶数(第1保留記憶数、第2保留記憶数)をカウント初期値として設定し、例えば先読み予告実行中フラグをオン状態にセットするといった、先読み予告演出が実行中であることに対応した設定を行う。また、ステップS710にて決定された先読み予告パターンや、現在の保留記憶数(第1保留記憶数、第2保留記憶数)に対応した先読み予告演出制御パターンをセットする。
図63は、先読み予告演出制御パターンの一覧を示す図である。図63に示すように、先読み予告パターン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と、が設けられている。各先読み予告演出制御パターンは、図63に示すように、先読み予告演出を開始してからの各変動において実行する演出内容に対応した制御データから構成されている。
なお、図63に示すように、先読み予告パターンSYP3−1である場合には、先読み予告演出が開始されてから2変動目において、背景変化予告が実行されるようになっている。これに限定されず、先読み予告演出の対象となる変動時や先読み予告演出の対象となる変動の1回前の変動時に背景変化予告が実行されるようにしてもよい。例えば、先読み予告パターンSYP3−1に決定された場合には、背景変化予告を実行するタイミングをさらに決定するようにして、その決定結果に応じた先読み予告演出制御パターンを選択するようにすればよい。この場合、先読み予告演出の対象となる変動の表示結果(変動カテゴリ)に応じて、背景変化予告を実行するタイミングの決定割合を異ならせてもよい。このようにすることで、停止図柄予告の先読み予告演出が実行された後、背景変化予告が実行されるタイミングによって、大当り信頼度やリーチ信頼度を異ならせることができる。
ステップS712の処理を実行した後や、ステップS703にて先読み予告演出が実行中であると判定されたとき(ステップS703;Yes)、ステップS704にて先読み予告制限中であると判定されたとき(ステップS704;Yes)、ステップS709にて現在の保留記憶数(第1保留記憶数、第2保留記憶数)が「3」または「4」でないと判定されたとき、または、前回までの変動カテゴリが非リーチハズレとなるもののみでないと判定されたとき(ステップS709;No)、あるいは、ステップS711にて「実行なし」と判定されたときには(ステップS711;Yes)、始動入賞時受信コマンドバッファに格納されている最新の始動口入賞指定コマンドが第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)であるか否かを判定する(ステップS713)。
ステップS713にて第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)であるときには(ステップS713;Yes)、第1保留記憶表示部18cにおける保留表示として、第1特図を用いた特図ゲームが新たに保留されたことに対応する表示部位を更新する制御を行う(ステップS714)。ステップS714では、第1保留記憶表示部18cにおける保留表示を通常の表示態様(例えば丸型の白色表示)で更新する制御を行う。その後、先読み予告決定処理を終了する。
一方、ステップS713にて第1始動口入賞指定コマンド(第1保留記憶数加算指定コマンド)ではないと判定された場合には(ステップS713;No)、第2保留記憶表示部18dにおける保留表示として、第2特図を用いた特図ゲームが新たに保留されたことに対応する表示部位を更新する制御を行う(ステップS715)。ステップS715では、第2保留記憶表示部18dにおける保留表示を通常の表示態様(例えば丸型の白色表示)で更新する制御を行う。その後、先読み予告決定処理を終了する。
ステップS707にて始動入賞時のコマンドを正常に受信できなかったと判定されたときには(ステップS707;No)、始動入賞時受信コマンドバッファにおける最新のコマンドに対応して、未判定情報をセットする(ステップS731)。例えば、始動入賞時受信コマンドバッファにおけるバッファ番号ごとに、未判定情報の格納領域を設け、最新のコマンドに対応するバッファ番号の未判定情報を「1」(またはオン状態)にセットすればよい。
ステップS731の処理を実行した後には、第1保留記憶表示部18cおよび第2保留記憶表示部18dにおける保留表示として、第1保留記憶数や第2保留記憶数を示す表示部位をそれぞれ、共通の非正常時の表示態様(例えば丸型の灰色表示)に変更して、新たに保留されたことに対応する表示部位も共通の非正常時の表示態様で表示する(ステップS732)。非正常時の表示態様は、通常の表示態様や特別な表示態様であるときとは表示部位の表示色や表示形状、表示キャラクタなどの一部または全部を異ならせることにより、始動入賞時のコマンドに取りこぼしが生じたことを認識可能に報知できればよい。なお、新たに保留されたことに対応する表示部位のみを非正常時の表示態様とする一方で、その他の表示部位における表示態様は変更しなくてもよい。
ステップS732の処理を実行した後には、例えば先読み予告制限フラグをオン状態にセットするといった、先読み予告制限中の設定を行ってから(ステップS733)、先読み予告決定処理を終了する。
こうした先読み予告決定処理では、ステップS707にて始動入賞時のコマンドを正常に受信できなかったと判定したときに、ステップS710の処理を実行しないことで、先読み予告演出を実行しないように制限される。
例えば図柄指定コマンドや変動カテゴリコマンドといった、始動入賞の発生時における判定結果を認識可能に指定する判定結果情報の一部または全部を取りこぼしたときには、その保留記憶に対応する可変表示の実行が終了するまで、先読み予告演出を実行しないように制限してもよい。これにより、先読み予告演出と可変表示結果との整合が取れなくなることを防止して、遊技者に不信感を与えないようにすることができる。
例えば図柄指定コマンドや変動カテゴリコマンドといった判定結果情報の一部を取りこぼした場合に、その他の判定結果情報によって判定結果を認識可能な場合であっても、その判定結果にもとづく先読み予告演出を実行しないように制限してもよい。これにより、信憑性の低い情報にもとづいて先読み予告演出が実行されることを防止して、遊技者に不信感を与えないようにすることができる。
例えば図柄指定コマンドや変動カテゴリコマンドといった複数の判定結果情報から認識可能な判定結果が整合しない場合に、いずれかの判定結果情報によって認識可能な判定結果にもとづく先読み予告演出を実行しないように制限してもよい。これにより、信憑性の低い情報にもとづいて先読み予告演出が実行されることを防止して、遊技者に不信感を与えないようにすることができる。
第2特図を用いた特図ゲームが第1特図を用いた特図ゲームよりも優先して実行される場合に、時短制御に伴う高開放制御が行われる高ベース状態であるときには、第1始動入賞口を遊技球が通過(進入)したことによる始動入賞(第1始動入賞)の発生にもとづく先読み予告演出を実行しないように制限してもよい。高開放制御が行われているときには、第2始動入賞口に遊技球を通過(進入)させて優先的に実行される第2特図を用いた特図ゲームを実行し続けることが可能になる。そのため、大当り遊技状態の終了前から第1特図を用いた特図ゲームの保留データにもとづいて先読み予告演出の実行を開始して、大当り遊技状態の終了後にも継続して先読み予告演出を実行すると、可変表示結果が「大当り」となる保留データなどを保持した状態で多数回の可変表示を継続して実行することができ、第2特図を用いた特図ゲームを実行することで可変表示結果が「大当り」となり、大当り遊技状態へと繰り返し制御されることになってパチンコ遊技機1の射幸性が著しく高められるおそれがある。さらに、遊技者が第1特図を用いた特図ゲームで可変表示結果が「大当り」となることを認識しながら、第2始動入賞口に遊技球を繰り返し通過(進入)させて第2特図を用いた特図ゲームを繰り返し実行するか、第2始動入賞口に遊技球を通過(進入)させずに第1特図を用いた特図ゲームを実行するかにより、可変表示結果が「大当り」となり大当り遊技状態へと制御されるタイミングを、遊技者の技量によって大きく変化させられるおそれがある。そこで、高ベース状態であるときには第1始動入賞の発生にもとづく先読み予告演出の実行を制限することにより、第1特図を用いた特図ゲームに対応して可変表示結果が「大当り」となる可能性があることを遊技者が認識できないようにして、健全な遊技性を確保することができる。
これに加えて、例えば高ベース状態であるときに始動口入賞指定コマンドといった保留記憶情報の一部または全部を取りこぼした場合には、たとえ図柄指定コマンドや変動カテゴリコマンドといった判定結果情報を正常に受信したとしても、先読み予告演出を実行しないように制限してもよい。これにより、第1特図を用いた特図ゲームに対応して可変表示結果が「大当り」となる可能性があることを遊技者が認識できてしまうことを防止して、健全な遊技性を確保することができる。
一方、例えば始動口入賞指定コマンドといった保留記憶情報の一部を取りこぼした場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行することは許可してもよい。これにより、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
また、例えば図柄指定コマンドや変動カテゴリコマンドといった判定結果情報の一部を取りこぼした場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行することは許可してもよい。これにより、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
あるいは、例えば図柄指定コマンドや変動カテゴリコマンドといった複数の判定結果情報から認識可能な判定結果が整合しない場合に、先読み予告演出の少なくとも一部(例えば、信頼度の最も低い先読み予告演出など)を実行することは許可してもよい。これにより、正常に受信できたコマンドを可能な限り利用して先読み予告演出を実行することができ、先読み予告演出の実行頻度が過度に低下してしまうことを防止できる。
図59に示すステップS161にて先読み予告決定処理を実行した後には、先読み予告制限解除設定処理を実行する(ステップS162)。先読み予告制限解除設定処理では、先読み予告演出を実行しないように制限される先読み予告制限中であるときに、所定条件の成立にもとづき制限を解除するための処理や、実行中の先読み予告演出が終了したことに応じて、新たな先読み予告演出を実行可能とするための処理が実行される。例えば、先読み予告実行中フラグがオン状態である場合には、変動が開始されるごとに、予告残回数カウンタの値を1減算していき、予告残回数カウンタの値が0になったときに、先読み予告実行中フラグをオフ状態にリセットする。また、先読み予告制限フラグがオン状態である場合には、始動入賞時受信コマンドバッファにおいてバッファ番号が「1」〜「8」のそれぞれに対応して有効に格納された始動入賞時のコマンドについて、すべての順序と内容が正しくなるように受信できたことを条件に、例えば先読み予告制限フラグをクリアするなどして、先読み予告演出が実行されないようにした制限を解除すればよい。なお、コマンドの取りこぼしや判定結果の不整合が生じた保留記憶が消化されたことを条件に、先読み予告演出が実行されないようにした制限を解除するようにしてもよい。
図59に示すステップ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”に更新する。
図64は、可変表示開始設定処理として、図59のステップS171にて実行される処理の一例を示すフローチャートである。図64に示す可変表示開始設定処理において、演出制御用CPU101は、まず、例えば主基板31から伝送された可変表示結果通知コマンド(表示結果指定コマンド)(表示結果指定コマンド)におけるEXTデータを読み取ることなどにより、特図表示結果が「ハズレ」となるか否かを判定する(ステップS522)。特図表示結果が「ハズレ」となる旨の判定がなされたときには(ステップS522;Yes)、例えば主基板31から伝送された変動パターン指定コマンド(変動パターンコマンド)におけるEXTデータを読み取ることなどにより、指定された変動パターンが飾り図柄の可変表示態様を「非リーチ」とする場合に対応した非リーチ変動パターンであるか否かを判定する(ステップS523)。
ステップS523にて非リーチ変動パターンであると判定された場合には(ステップS523;Yes)、非リーチ組合せを構成する最終停止図柄となる確定飾り図柄の組合せを決定する(ステップS524)。一例として、ステップS524の処理では、まず、ランダムカウンタ等により更新される左確定図柄決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定の左確定図柄決定テーブルを参照することなどにより、確定飾り図柄のうち演出表示装置9の表示領域における「左」の演出図柄表示領域9Lに停止表示される左確定飾り図柄を決定する。次に、ランダムカウンタ等により更新される右確定図柄決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定の右確定図柄決定テーブルを参照することなどにより、確定飾り図柄のうち演出表示装置9の表示領域における「右」の演出図柄表示領域9Rに停止表示される右確定飾り図柄を決定する。このときには、右確定図柄決定テーブルにおける設定などにより、右確定飾り図柄の図柄番号が左確定飾り図柄の図柄番号とは異なるように、決定されるとよい。続いて、ランダムカウンタ等により更新される中確定図柄決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定の中確定図柄決定テーブルを参照することなどにより、確定飾り図柄のうち演出表示装置9の表示領域における「中」の演出図柄表示領域9Cに停止表示される中確定飾り図柄を決定する。なお、ステップS524の処理では、変動図柄予告を実行中である場合に対応して、所定のチャンス目図柄となる非リーチ組合せの確定飾り図柄を決定すればよい。
ステップS523にて非リーチ変動パターンではないと判定された場合には(ステップS523;No)、リーチ組合せを構成する最終停止図柄となる確定飾り図柄の組合せを決定する(ステップS525)。一例として、ステップS525の処理では、まず、ランダムカウンタ等により更新される左右確定図柄決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定の左右確定図柄決定テーブルを参照することなどにより、確定飾り図柄のうち演出表示装置9の表示領域における「左」と「右」の演出図柄表示領域9L、9Rにて揃って停止表示される図柄番号が同一の飾り図柄を決定する。さらに、ランダムカウンタ等により更新される中確定図柄決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定の中確定図柄決定テーブルを参照することなどにより、確定飾り図柄のうち演出表示装置9の表示領域における「中」の演出図柄表示領域9Cにて停止表示される中確定飾り図柄を決定する。ここで、例えば中確定飾り図柄の図柄番号が左確定飾り図柄及び右確定飾り図柄の図柄番号と同一になる場合のように、確定飾り図柄が大当り組合せとなってしまう場合には、任意の値(例えば「1」)を中確定飾り図柄の図柄番号に加算または減算することなどにより、確定飾り図柄が大当り組合せとはならずにリーチ組合せとなるようにすればよい。あるいは、中確定飾り図柄を決定するときには、左確定飾り図柄及び右確定飾り図柄の図柄番号との差分(図柄差)を決定し、その図柄差に対応する中確定飾り図柄を設定してもよい。
ステップS522にて特図表示結果が「ハズレ」ではないと判定されたときには(ステップS522;No)、特図表示結果が「大当り」で大当り種別が「突確」である場合、または、特図表示結果が「小当り」である場合であるか、これら以外の場合であるかを判定する(ステップS526)。「突確」または「小当り」であると判定されたときには(ステップS526;Yes)、例えば開放チャンス目といった、「突確」の場合や「小当り」の場合に対応した最終停止図柄となる確定飾り図柄の組合せを決定する(ステップS527)。一例として、変動パターン指定コマンド(変動パターンコマンド)により突確/小当り用のいずれの変動パターンが指定された場合に対応して、複数種類の開放チャンス目のうち、いずれかを構成する最終停止図柄となる確定飾り図柄の組合せを決定する。この場合には、ランダムカウンタ等により更新されるチャンス目決定用の乱数値を示す数値データを抽出し、ROMなどに予め記憶された所定のチャンス目決定テーブルを参照することなどにより、開放チャンス目のいずれかを構成する確定飾り図柄の組合せを決定すればよい。また、変動パターン指定コマンド(変動パターンコマンド)によりリーチを指定するいずれかの変動パターンが指定された場合には、例えばステップS525と同様の処理を実行することにより、リーチ組合せを構成する最終停止図柄となる確定飾り図柄の組合せを決定すればよい。
ステップS526にて「突確」または「小当り」以外の「非確変」または「確変」であると判定されたときには(ステップS526;No)、大当り組合せを構成する最終停止図柄となる確定飾り図柄の組合せを決定する(ステップS528)。一例として、ステップS528の処理では、まず、ランダムカウンタなどにより更新される大当り確定図柄決定用の乱数値を示す数値データを抽出し、続いてROMなどに予め記憶された所定の大当り確定図柄決定テーブルを参照することなどにより、演出表示装置9の画面上で「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rに揃って停止表示される図柄番号が同一の飾り図柄を決定する。このときには、大当り種別が「非確変」、「確変」のいずれであるかや、大当り中における昇格演出の有無などに応じて、異なる飾り図柄を確定飾り図柄とする決定が行われるようにしてもよい。
具体的な一例として、大当り種別が「非確変」である場合には、複数種類の通常図柄のうちいずれか1つの飾り図柄を選択して、非確変大当り組合せを構成する確定飾り図柄に決定すればよい。また、大当り種別が「確変」である場合には、複数種類の通常図柄または確変図柄のうちからいずれか1つの飾り図柄を選択して、非確変大当り組合せまたは確変大当り組合せを構成する確定飾り図柄に決定すればよい。このとき、非確変大当り組合せの確定飾り図柄に決定された場合には、可変表示中の再抽選演出において確変状態に制御される旨の報知が行われず、大当り遊技状態に対応して実行される大当り中昇格演出などにより確変状態に制御される旨が報知されればよい。他方、確変大当り組合せの確定飾り図柄に決定された場合には、可変表示中の再抽選演出において、あるいは再抽選演出を実行することなく、確変状態に制御される旨の報知が行われる。
ステップS524、S525、S527、S528の処理のいずれかを実行した後には、先読み予告実行設定処理を実行する(ステップS535)。図66は、先読み予告実行設定処理の一例を示すフローチャートである。図66に示す先読み予告実行設定処理において、演出制御用CPU101は、まず、先読み予告実行中フラグがオン状態であるか否かを判定する(ステップS601)。先読み予告実行中フラグがオフ状態であれば(ステップS601;No)、先読み予告実行設定処理を終了する。
先読み予告実行中フラグがオン状態であれば(ステップS601;Yes)、先読み予告実行回数カウンタの値を1減算する(ステップS602)。そして、先読み予告実行回数カウンタの値とセットされている先読み予告演出制御パターンにもとづいて、先読み予告演出を実行するための設定を行う(ステップS603)。ステップS603の処理では、図63に示す演出内容に対応した先読み予告演出を実行するための設定が行われればよい。また、停止図柄予告を実行する先読み予告演出制御パターンであれば、図62に示すチャンス目のいずれを停止させるかを決定する処理を実行すればよい。この場合、図64のステップS524で決定された非リーチ組合せに代えて、チャンス目Aまたはチャンス目Bを停止表示する制御が実行される。背景変化予告を実行する先読み予告演出制御パターンであれば、図64のステップS524で決定された非リーチ組合せを停止表示する制御が実行される。なお、停止図柄予告を実行する先読み予告演出制御パターンである場合には、図64のステップS524で非リーチ組合せを決定する処理に代えて、停止表示させるチャンス目Aまたはチャンス目Bを決定する処理を実行するようにしてもよい。また、図64のステップS524の前、先読み予告実行設定処理を実行するようにして、停止表示させるチャンス目が決定されている場合には、図64のステップS524の処理をスキップするようにしてもよい。このようにすることで、停止図柄を決定する処理の重複を避けることができる。
続いて、先読み予告実行回数カウンタの値が0であるか否かを判定する(ステップS604)。先読み予告実行回数カウンタの値が0でなければ(ステップS604;No)、先読み予告実行設定処理を終了する。
先読み予告実行回数カウンタの値が0であれば(ステップS604;Yes)、先読み予告実行中フラグをオフ状態にクリアする(ステップS605)。先読み予告実行回数カウンタの値が0である場合とは、今回の変動が先読み予告演出の対象となる変動であって、先読み予告演出が終了する場合である。その後、先読み予告実行設定処理を終了する。
ステップS535で先読み予告実行設定処理を実行した後には、変動中予告演出の実行の有無と、実行する場合における変動中予告演出の演出態様に対応した変動中予告パターンとを決定する(ステップS529)。一例として、ステップS529の処理では、変動中予告演出の有無と変動中予告パターンとを決定するための使用テーブルとして、予め用意された変動中予告決定テーブルを選択してセットする。変動中予告決定テーブルでは、可変表示結果通知コマンド(表示結果指定コマンド)(表示結果指定コマンド)から特定される可変表示結果や、変動パターン指定コマンド(変動パターンコマンド)から特定される変動パターンなどに応じて、変動中予告種別決定用の乱数値と比較される数値(決定値)が、変動中予告演出を実行しない場合に対応する「実行なし」の決定結果や、変動中予告演出を実行する場合における複数の変動中予告パターンなどに、割り当てられていればよい。その後、演出制御用CPU101は、例えばランダムカウンタなどから抽出した変動中予告決定用の乱数値を示す数値データにもとづいて、変動中予告決定テーブルを参照することにより、変動中予告演出の有無と変動中予告パターンとを決定すればよい。
ステップS529の処理では、例えば図65(A)に示すような決定割合で、変動中予告演出の有無と変動中予告パターンとが決定されればよい。図65(A)に示す決定割合の設定例では、変動パターンが「非リーチハズレ」、「リーチハズレ」、「大当り」、「小当り」のいずれに対応したものであるかに応じて、変動中予告演出の有無や変動中予告パターンの決定割合を異ならせている。
具体的には、変動パターンが「リーチハズレ」である場合には、「非リーチハズレ」である場合よりも、変動中予告演出が実行される割合(「予告実行なし」以外に決定される割合)が高くなっており、変動パターンが「大当り」である場合には、「非リーチハズレ」、「リーチハズレ」、「小当り」である場合よりも、変動中予告演出が実行される割合が高くなっている。また、各変動中予告パターンでは、「予告Z」、「予告Y」、「予告X」の順番で、可変表示結果が「大当り」となる割合が高くなっている。このような設定により、変動中予告演出を実行することで、可変表示結果が「大当り」となることやリーチが実行されることを予告・示唆することができる。
また、この実施の形態では、特定の先読み予告演出が実行されている場合には、図65(B)に示すような、特別な決定割合で、変動中予告演出の有無と変動中予告パターンとが決定されるようになっている。具体的には、停止図柄予告が実行された後に背景変化予告が実行される先読み予告パターンSYP3−1の先読み予告演出が実行されている場合であって、未だ背景変化予告が実行される前であるときには、図65(B)に示すような、特別な決定割合で、変動中予告演出の有無と変動中予告パターンとが決定される。なお、先読み予告演出が実行されているときには、先読み予告演出の対象となる変動までの可変表示結果は「非リーチハズレ」となるので、図65(B)では、「非リーチハズレ」の場合の決定割合のみを示している。図65(B)の決定割合では、図65(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の操作を促す演出動作であればよい。
この実施の形態では、「キャラクタ表示」、「ステップアップ動作」、「操作予告」の各変動中予告演出は、変動開始から変動終了までのそれぞれ異なるタイミングで実行される。具体的には、「操作予告」の実行タイミングが最も早く、「キャラクタ表示」の実行タイミングが最も遅くなっている。従って、変動中予告演出の演出態様のみならず、その実行タイミングによっても大当り信頼度が異なっている。また、停止図柄予告の先読み予告演出が実行されているときには、変動中予告演出の実行タイミングによって、背景変化予告が実行されることを遊技者に示唆することができ、遊技の興趣が向上する。
ステップS529の処理を実行した後には、その他の可変表示中における演出の実行設定を行う(ステップS530)。一例として、ステップS530の処理では、先読み予告演出や変動中予告演出とは異なる演出を実行するための設定が行われてもよい。そのような演出としては、例えば可変表示の開始時や実行中における所定のタイミングにて、スピーカ27から所定の効果音(例えばアラーム音やチャイム音、サイレン音など)が出力されるような態様の演出や、枠LED28などに含まれるフラッシュランプが光るような態様の演出のうち、一部または全部を含む所定態様の演出を実行することにより、可変表示結果が「大当り」となることを直ちに告知(確定的に報知)する一発告知態様の演出が実行されてもよい。あるいは、そのような演出として、可変表示結果が「大当り」となることに対応した特別な演出画像(プレミアム画像)を表示する演出が実行されてもよい。
他の一例として、ステップS530の処理では、可変表示結果が「大当り」となる可能性などにはかかわらず、例えば賑やかしのために所定態様の演出を実行するための設定が行われてもよい。より具体的には、枠LED28に含まれる所定のランプが光るような態様の演出といった、所定態様の演出を実行できればよい。
その後、演出制御パターンを予め用意された複数パターンのいずれかに決定する(ステップS531)。このとき、演出制御用CPU101は、例えば変動パターン指定コマンド(変動パターンコマンド)により指定された変動パターンなどに対応して、複数用意された特図変動時演出制御パターンのいずれかを選択し、使用パターンとしてセットする。また、例えばキャラクタ表示予告の先読み予告演出を実行するための設定がなされた場合には、その設定に対応した予告演出制御パターンが選択されてもよい。
ステップS531の処理を実行した後には、例えば変動パターン指定コマンド(変動パターンコマンド)により指定された変動パターンに対応して、演出制御プロセスタイマの初期値を設定する(ステップS532)。続いて、演出表示装置9における飾り図柄などの変動を開始させるための設定を行う(ステップS533)。このときには、例えばステップS531にて使用パターンとして決定された特図変動時演出制御パターンに含まれる表示制御データが指定する表示制御指令を演出制御基板80の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が図59のステップS161にて先読み予告決定処理を実行したときに、先読み予告の制限中でない場合や(ステップS704;No)、前回までの変動カテゴリ等が先読み予告演出を実行可能な状況であれば(ステップS709;Yes)、図60のステップS710にて先読み予告演出の有無や先読み予告パターンなどが決定される。そしてその決定結果にもとづいて、複数回の変動に渡って先読み予告演出が実行される。
図67は、停止図柄予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す図である。図67(A)は、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されている演出表示装置9を示している。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図60に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP1−2を実行することに決定されたものとする。なお、このときの入賞により、保留記憶数は3になっているので、ステップS712の処理では、図63に示す先読み予告演出制御パターンSCP2−1がセットされる。
その後、図67(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始されることになる。先読み予告演出が開始される1回目の変動では、図67(C)、(D)に示すように、例えばチャンス目CB1(「1・2・3」)が停止する。ここで停止するチャンス目Bをいずれとするかは、図66のステップS603において決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図67(E)、(F)に示すように、例えばチャンス目CB2(「2・3・4」)が停止する。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象となる変動)では、決定された変動パターンに応じた変動が実行される。ここでは、大当りの変動パターンであることに対応して、図67(G)〜(I)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。
以上のように、停止図柄予告の先読み予告演出では、複数回の変動に渡って予め定められたチャンス目が停止することによって、大当りとなる可能性やリーチとなる可能性を予告することができる。
また、図68は、背景変化予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す図である。図68(A)は、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されている演出表示装置9を示している。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図60に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP2−1を実行することに決定されたものとする。なお、このときの入賞により、保留記憶数は3になっているので、ステップS712の処理では、図63に示す先読み予告演出制御パターンSCP3−1がセットされる。
その後、図68(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始されることになる。先読み予告演出が開始される1回目の変動では、図68(C)〜(E)に示すように、例えば「チャンス」という文字が演出表示装置9に表示され、演出表示装置9における背景画像が昼をモチーフとした画像(通常の背景画像)から夜をモチーフとした背景画像(特殊な背景画像)に変化する。なお、このときの停止図柄は非リーチハズレ組合せを構成する飾り図柄となる。
そして、先読み予告演出が開始されてから2回目の変動では、図68(F)、(G)に示すように、引き続き夜をモチーフとした背景画像となる。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象となる変動)では、決定された変動パターンに応じた変動が実行される。ここでは、大当りの変動パターンであることに対応して、図68(H)〜(J)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。なお、この3回目の変動においても、引き続き夜をモチーフとした背景画像となる。
以上のように、背景変化予告の先読み予告演出では、複数回の変動に渡って通常とは異なる特殊な背景画像となることで、大当りとなる可能性やリーチとなる可能性を予告することができる。なお、背景変化予告の実行中の停止図柄は非リーチハズレの組合せとなるものとして説明したが、この場合においてもチャンス目が停止するようにしてもよい。
また、図69は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合の演出表示装置9における表示動作例を示す図である。図69(A)は、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されている演出表示装置9を示している。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図60に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP3−1を実行することに決定されたものとする。なお、このときの入賞により、保留記憶数は3になっているので、ステップS712の処理では、図63に示す先読み予告演出制御パターンSCP4−1がセットされる。
その後、図69(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始されることになる。先読み予告演出が開始される1回目の変動では、図69(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止する。ここで停止するチャンス目Aをいずれとするかは、図66のステップS603において決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図69(E)〜(G)に示すように、例えば「チャンス」という文字が演出表示装置9に表示され、演出表示装置9における背景画像が昼をモチーフとした画像(通常の背景画像)から夜をモチーフとした背景画像(特殊な背景画像)に変化する。なお、このときの停止図柄は非リーチハズレ組合せを構成する飾り図柄となる。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象となる変動)では、決定された変動パターンに応じた変動が実行される。ここでは、大当りの変動パターンであることに対応して、図69(H)〜(J)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。なお、この3回目の変動においても、引き続き夜をモチーフとした背景画像となる。
以上のように、停止図柄予告の後に背景変化予告が実行される先読み予告演出では、チャンス目Aが停止する停止図柄予告が実行された後、通常とは異なる特殊な背景画像に変化する背景変化予告が実行されることで、大当りとなる可能性やリーチとなる可能性を予告することができる。
なお、チャンス目Aが停止する停止図柄予告が実行された場合、その後、背景変化予告が実行されなかった場合には、先読み予告演出の中で最も大当り信頼度は低いが、背景変化予告が実行された場合には、先読み予告演出の中で最も大当り信頼度が高くなる。このように、信頼度が低いことを示す演出態様から信頼度の高いことを示す演出態様に変化(移行)する先読み予告パターンを設けることで、信頼度の低いパターンの先読み予告演出が実行された場合であっても、遊技者の期待感を維持することができ、遊技の興趣が向上する。
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、上記実施の形態では、図61に示すように、先読み予告演出のパターン(先読み予告パターン)として、複数回の可変表示渡って演出表示装置9に演出表示装置9に予め定められたチャンス目Aが停止する先読み予告パターンSYP1−1と、複数回の可変表示渡って演出表示装置9に演出表示装置9に予め定められたチャンス目Bが停止する先読み予告パターンSYP1−2と、表示装置5における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象となる可変表示が実行されるまでその特殊な背景画像となる先読み予告パターンSYP2−1と、演出表示装置9に演出表示装置9に予め定められたチャンス目Aが停止した後に、表示装置5における背景画像が通常の背景画像から特殊な背景画像に変化し、予告の対象となる可変表示が実行されるまでその特殊な背景画像となる先読み予告パターンSYP3−1と、が設けられていた。先読み予告演出のパターンはこれらに限定されず、これら以外の先読み予告演出のパターンが設けられていてもよい。例えば、図70に示すように、4回の変動に渡って実行される先読み予告演出の先読み予告パターンとして、1回目の変動においてチャンス目Aが停止し、2回目の変動においてチャンス目Bが停止し、3回目の変動において、背景画像が特殊な背景画像に変化し、4回目の変動においては継続して特殊な背景画像において変動が実行されるものがあってもよい。このような先読み予告パターンを設けることで、大当り信頼度が段階的にステップアップしていくような演出が可能になり、演出態様の変化に遊技者を注目させることができ、遊技の興趣が向上する。
なお、上記実施の形態では、先読み予告パターンを決定することで、複数回の変動に渡って実行される先読み予告演出の演出態様を決定するようにしていたが、結果として上記実施の形態と同様の先読み予告演出を実行する制御が行われていればよく、先読み予告演出の演出態様の決定方法は上記実施の形態の方法に限定されない。
例えば、先読み予告演出の対象となる変動が実行されるまでの複数回の変動において、先読み予告演出の対象となる変動の表示結果や変動カテゴリにもとづいて、いずれ演出態様の先読み予告演出を実行するかを変動毎に決定するようにしてもよい。具体的には、先読み予告演出の対象となる変動の表示結果が「大当り」となる場合には、より大当り信頼度の高い演出態様の先読み予告演出が実行されやすくなっていればよい。この場合においては、前回の変動における演出態様を記憶しておき、前回の変動の演出態様より大当り信頼度が低い演出態様の先読み予告演出が実行されないようにすることが好ましい。このようにすることで、先読み予告演出(連続演出)が進むにつれて、大当り信頼度が低下するような演出が実行されることを防止できる。
上記実施の形態では、背景変化予告の先読み予告演出が実行される場合、通常の背景画像から特殊な背景画像に変化するタイミングについては、特に言及していなかったが、背景変化予告を実行する変動におけるいずれのタイミングで通常の背景画像から特殊な背景画像に変化させるかを異ならせるようにしてもよい。
例えば、背景変化予告を実行する変動における変動開始時、または、変動終了時のいずれかで通常の背景画像から特殊な背景画像に変化させるようにしてもよい。この場合、例えば図60に示すステップS710において、先読み予告演出を実行しないことに対応した「実行なし」以外に決定された場合(ステップS711;No)、図71(A)に示すように、その先読み予告パターンが停止図柄予告の後に背景変化予告が実行されることに対応したSYP3−1であるか否かを判定する(ステップS751)。先読み予告パターンがSYP3−1以外であれば(ステップS751;No)、ステップS712の処理に進む。
先読み予告パターンがSYP3−1であれば(ステップS751;Yes)、背景変化予告における背景画像の変化タイミングを変動開始時、または、変動終了時のいずれにするかを決定する(ステップS752)。背景画像の変化タイミングとして、変動開始時、または、変動終了時を採用することで、変化タイミングの差異が遊技者に明確になり、遊技者に分かりやすい演出を実行することができる。
ステップS752の処理では、先読み予告演出の対象となる変動カテゴリが「非リーチハズレ」、「リーチハズレ」、「突確・小当り」、「大当り」のいずれであるかに応じて異なる割合で変化タイミングを決定する。例えば、ステップS752の処理では、図71(B)に示す決定割合で、変化タイミングを決定すればよい。
図71(B)に示す決定割合では、変動カテゴリに関わらず、変化タイミングとして、変動終了時に決定されやすくなっている。変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化することを期待するようになるので、遊技者の期待感を維持させることができる。
また、図71(B)に示す決定割合では、変動カテゴリが「大当り」である場合には、変動終了時に決定されやすくなっている。このような設定により、背景変化予告において背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を、変動開始時である場合の大当り信頼度よりも高くすることができる。なお、背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を高くすることで、変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化して、大当り信頼度が高くなることを期待するようになるので、遊技者の期待感をより高めることができる。
なお、図71(B)に示す決定割合とは逆に、変動カテゴリに関わらず、変化タイミングとして、変動開始時に決定されやすくしてもよいし、変動カテゴリが「大当り」である場合には、変動開始時に決定されやすくしてもよい。このようにすることで、遊技者に早い段階で大当り信頼度等を報知することでき、変動の開始時を注目させることができる。
なお、図71(A)では、先読み予告パターンがSYP3−1である場合にのみ、背景変化予告における背景画像の変化タイミングを決定するようにしているが、先読み予告パターンがSYP2−1である場合にも背景画像の変化タイミングを決定するようにしてもよい。
ステップS752において背景画像の変化タイミングを決定した後には、ステップS712の処理に進む。この変形例では、先読み予告パターンSYP3−1の先読み予告演出制御パターンとして、変化タイミングに応じて、図72に示すようなパターンが設けられる。そして、ステップS712の処理では、ステップS752における決定結果に応じて、先読み予告演出制御パターンSCP4−1−1(保留記憶数3で変化タイミングが変動開始時)、SCP4−1−2(保留記憶数3で変化タイミングが変動終了時)、SCP4−2−1(保留記憶数4で変化タイミングが変動開始時)、SCP4−2−2(保留記憶数4で変化タイミングが変動終了時)のいずれかがセットされればよい。
図73は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合であって、背景変化予告の変化タイミングが変動開始時である場合の演出表示装置9における表示動作例を示す図である。図73(A)は、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されている演出表示装置9を示している。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図60に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP3−1を実行することに決定され、ステップS752において、変化タイミングが変動開始時に決定されたものとする。なお、このときの入賞により、保留記憶数は3になっているので、ステップS712の処理では、図72に示す先読み予告演出制御パターンSCP4−1−1がセットされる。
その後、図73(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始されることになる。先読み予告演出が開始される1回目の変動では、図73(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止する。ここで停止するチャンス目Aをいずれとするかは、図66のステップS603において決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図73(E)に示すように、変動開始時に演出表示装置9における背景画像が昼をモチーフとした画像(通常の背景画像)から夜をモチーフとした背景画像(特殊な背景画像)に変化する。その後、図73(F)に示すように、非リーチハズレ組合せを構成する飾り図柄が停止する。なお、図73(F)においてチャンス目Aが停止するようにしてもよい。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象となる変動)では、決定された変動パターンに応じた変動が実行される。ここでは、大当りの変動パターンであることに対応して、図73(G)〜(I)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。なお、この3回目の変動においても、引き続き夜をモチーフとした背景画像となる。
図74は、停止図柄予告の後に背景変化予告の先読み予告演出が実行される場合であって、背景変化予告の変化タイミングが変動開始時である場合の演出表示装置9における表示動作例を示す図である。図74(A)は、「左」、「中」、「右」の演出図柄表示領域9L、9C、9Rにおいて飾り図柄の変動が実行されている演出表示装置9を示している。ここで、第1始動入賞口13に遊技球が入賞したことにもとづいて、図60に示す先読み予告決定処理が実行され、ステップS710において、先読み予告パターンSYP3−1を実行することに決定され、ステップS752において、変化タイミングが変動終了時に決定されたものとする。なお、このときの入賞により、保留記憶数は3になっているので、ステップS712の処理では、図72に示す先読み予告演出制御パターンSCP4−2−1がセットされる。
その後、図74(B)に示すように、その時点での変動が終了すると、次回の変動時から先読み予告演出が開始されることになる。先読み予告演出が開始される1回目の変動では、図74(C)、(D)に示すように、例えばチャンス目CA1(「1・1・2」)が停止する。ここで停止するチャンス目Aをいずれとするかは、図66のステップS603において決定される。
そして、先読み予告演出が開始されてから2回目の変動では、図74(E)に示すように、飾り図柄の変動が開始された後、図74(F)に示すように、非リーチハズレ組合せを構成する飾り図柄が停止するとき(変動終了時)に、演出表示装置9における背景画像が昼をモチーフとした画像(通常の背景画像)から夜をモチーフとした背景画像(特殊な背景画像)に変化する。なお、図74(F)においてチャンス目が停止するようにしてもよい。
続いて、先読み予告演出が開始されてから3回目の変動(先読み予告演出の対象となる変動)では、決定された変動パターンに応じた変動が実行される。ここでは、大当りの変動パターンであることに対応して、図74(G)〜(I)に示すように、変動が開始されてからリーチとなって、大当り組合せを構成する飾り図柄が停止する。なお、この3回目の変動においても、引き続き夜をモチーフとした背景画像となる。
図74に示すように、変動終了時に背景が変化した場合の方が、図73に示すように、変動開始時に背景が変化した場合よりも、大当り信頼度が高くなっている。背景画像が変化するタイミングが変動終了時である場合の大当り信頼度を高くすることで、変動開始時に背景画像が変化しなかった場合には、遊技者は変動終了時に背景画像が変化して、大当り信頼度が高くなることを期待するようになるので、遊技者の期待感をより高めることができる。
なお、上記の実施の形態においては、変動時間およびリーチ演出の種類や擬似連の有無等の変動態様を示す変動パターンを演出制御用マイクロコンピュータ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または音/ランプ基板から受信したコマンドに応じて表示制御を行うことができる。
また、上記の実施の形態では、遊技機としてパチンコ機を例にしたが、本発明を、メダルが投入されて所定の賭け数が設定され、遊技者による操作レバーの操作に応じて複数種類の図柄を回転させ、遊技者によるストップボタンの操作に応じて図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数のメダルが遊技者に払い出されるスロット機に適用することも可能である。
また、上記の実施の形態では、遊技機として遊技媒体を使用するものを例にしたが本発明による遊技機は、所定数の景品としての遊技媒体を払い出す遊技機に限定されず、遊技球等の遊技媒体を封入し景品の付与条件が成立した場合に得点を付与する封入式の遊技機に適用することもできる。
また、上記に示した実施の形態では、以下の(1)〜(5)に示すような遊技機の特徴的構成も示されている。
(1)所定の遊技を行うことが可能な遊技機であって、遊技の進行を制御する遊技制御用マイクロコンピュータ(例えば、遊技制御用マイクロコンピュータ560)と、所定事象が発生(例えば、IAT回路506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)したことにもとづいて第1リセット(例えば、システムリセット)を発生させるか第2リセット(例えば、ユーザリセット)を発生させるかを設定可能な設定手段(例えば、遊技制御用マイクロコンピュータ560におけるプログラム管理エリアの図12に示すリセット設定(KRES)のビット7の設定値に従ってステップS1001,S1011を実行する部分)とを備え、第1リセットの発生後にはセキュリティチェックを実行する一方、第2リセットの発生後にはセキュリティチェックを実行せず(例えば、遊技制御用マイクロコンピュータ560は、図46(A)に示すように、ステップS1004の後にはステップS1006でセキュリティチェックを実行し、図46(B)に示すように、ステップS1014の後にはセキュリティチェックを実行しない)、遊技制御用マイクロコンピュータは、遊技機への電力供給が停止していても、遊技に関する制御を行う際に発生する情報を所定期間保持可能な記憶手段(例えば、RAM55(バックアップRAM))と、特定値(例えば、F0H)を格納する格納手段(例えば、Qレジスタ)と、制御命令に従って遊技の進行を制御する制御用CPU(例えば、CPU56)と、所定電源電圧の電圧低下を検出したことにもとづいて電力供給停止時処理(例えば、電源断処理)を実行する電力供給停止時処理実行手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS450〜S487を実行する部分)と、電力供給停止時処理を実行した後に所定事象が発生したときに、記憶手段の記憶内容にもとづいて制御状態を電力供給停止時処理を開始したときの状態に復旧させる復旧手段(例えば、遊技制御用マイクロコンピュータ560において、電源断処理を実行した後にIAT回路506aからのIAT信号やウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力したときには、リセット後にメイン処理が開始されたときにステップS7,S8でYと判定してステップS41〜S44を実行する部分)とを含み、制御用CPUは、第1情報(例えば、データ格納領域の上位アドレス)と第2情報(例えば、データ格納領域の下位アドレス)とにもとづいて、読み出し対象のデータが格納された領域に対応するアドレスを特定し、特定したアドレスに対応する領域から読み出し対象のデータを読み出し、読み出し対象のデータを読み出すときに、格納手段に格納された特定値にもとづいて第1情報を特定するとともに、制御命令で指定された第2情報を特定する(例えば、CPU56は、図47に示すように、Qレジスタに設定されたF0Hと、LDQコマンドで指定された20Hとにもとづいて、データ格納領域のアドレスF020Hを特定し、アドレスF020Hに対応するデータ格納領域からデータaを抽出する)ことを特徴とする遊技機。そのような構成により、遊技制御用マイクロコンピュータに関するセキュリティ性を向上させることができる。
(2)遊技機への電力供給が開始された後、記憶手段へのアクセスが許可されるタイミングで、記憶手段に設けられた作業領域に対応するアドレスの一部を示す値を特定値として格納手段に格納する(例えば、CPU56は、メイン処理のステップS5でRAM55へのアクセスが許可されたタイミングで、ステップS5Aを実行してQレジスタにF0Hを設定する)ように構成されていてもよい。そのような構成によれば、記憶手段へのアクセスが許可されるタイミングで格納手段に特定値が格納されることによって、それ以降に記憶手段に設けられた作業領域に対応するアドレスを指定するためのプログラムの無駄を削減することができる。
(3)遊技制御用マイクロコンピュータは、ウオッチドッグタイマ(例えば、ウオッチドッグタイマ(WDT)506b)を含み、所定事象の発生には、ウオッチドッグタイマのタイムアウトが含まれ(例えば、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)、設定手段は、ウオッチドッグタイマを起動させるか否かを設定可能であり(例えば、遊技制御用マイクロコンピュータ560は、プログラム管理エリアの図12に示すリセット設定(KRES)のビット3−0の設定値が”0000”であることに従ってステップS1001,S1011を実行することによって、ウオッチドッグタイマ(WDT)506bを使用禁止に設定可能である)、ウオッチドッグタイマを起動させないと設定した場合であっても、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを設定可能である(例えば、遊技制御用マイクロコンピュータ560におけるプログラム管理エリアの図12に示すリセット設定(KRES)のビット3−0が”0000”に設定されている場合であっても、ビット7の設定値に従ってステップS1001,S1011を実行することによって、リセットの種類を設定可能である)ように構成されていてもよい。そのような構成によれば、ウオッチドッグタイマの設定にかかわらず、所定事象が発生したことにもとづいて発生させるリセットの種類の設定を共通化することができる。
(4)所定事象の発生には、指定された領域以外の領域に格納されたプログラムを実行する指定領域外実行(例えば、指定エリア外走行禁止(IAT))が含まれ(例えば、IAT回路506aからのIAT信号の入力)、遊技制御用マイクロコンピュータは、所定の処理として所定時間(例えば4ms)毎に発生するタイマ割込に応じて実行されるタイマ割込処理(例えば、図49に示すタイマ割込処理)の実行中に指定領域外実行が発生した場合に、記憶手段の記憶内容を初期化する初期化手段(例えば、遊技制御用マイクロコンピュータ560は、ステップS20〜S34の実行中にIAT回路506aからのIAT信号を入力したときには、図50および図51に示す電源断処理を実行することなく、リセット後にメイン処理が開始されたときにステップS10〜S13を実行する)を含むように構成されていてもよい。そのような構成によれば、意図しないプログラムが実行された場合のセキュリティ性を向上させることができる。
(5)設定手段は、第1リセットを発生させると設定したときに、所定事象が発生して第1リセットを発生させた後、所定事象が発生したことにもとづいて第1リセットを発生させるか第2リセットを発生させるかを再度設定する(例えば、遊技制御用マイクロコンピュータ560は、図46(A)に示すように、システムリセットが発生したときに、ステップS1005を実行して、遊技制御用マイクロコンピュータ560の各種設定をハードウェア的に再度実行することにより、システムリセットとするかユーザリセットとするかを再度設定する)ように構成されていてもよい。そのような構成によれば、異常な状態から正常な状態に確実に復旧させることができる。