以下、本発明の一実施例に係る遊技機であるぱちんこ遊技機について説明する。本実施例のぱちんこ遊技機においては、従来にいう第1種ぱちんこ遊技機に相当する遊技が複数混在する。その複数の遊技としての第1の遊技と第2の遊技とが、同時に実行されないよう第2の遊技が優先的に実行される。またこれらの遊技性を両立させるために、本実施例のぱちんこ遊技機は、複数の始動入賞口、複数の特別図柄表示装置、複数の保留ランプ、複数の大入賞口を備える。
<ぱちんこ遊技機の正面構成及びゲーム性の概要>
図1は、ぱちんこ遊技機の前面側における基本的な構造を示す。ぱちんこ遊技機10は、主に遊技機枠と遊技盤で構成される。ぱちんこ遊技機10の遊技機枠は、外枠11、前枠12、透明板13、扉14、上球皿15、下球皿16、および発射ハンドル17を含む。外枠11は、開口部分を有し、ぱちんこ遊技機10を設置すべき位置に固定するための枠体である。前枠12は、外枠11の開口部分に整合する枠体であり、図示しないヒンジ機構により外枠11へ開閉可能に取り付けられる。前枠12は、遊技媒体である遊技球を発射する機構や、遊技盤を着脱可能に収容させるための機構、遊技球を誘導または回収するための機構等を含む。
透明板13は、ガラスなどにより形成され、扉14により支持される。扉14は、図示しないヒンジ機構により前枠12へ開閉可能に取り付けられる。上球皿15は、皿ユニット200に設けられ、遊技球の貯留、発射レールへの遊技球の送り出し、下球皿16への遊技球の抜き取り等の機構を有する。下球皿16は、同じく皿ユニット200に設けられ、遊技球の貯留、抜き取り等の機構を有する。下球皿16の下方に位置する下部前板18には複数のスピーカ19が設けられており、遊技状態や演出パターンなどに応じたBGMや各種効果音などが出力される。
遊技盤50は、扉14の陰に隠れた外レールと内レールにより区画された遊技領域52上に、アウト口58、演出図柄表示装置60、第1始動入賞口62、第2始動入賞口63、センター飾り64、第1大入賞口91、第2大入賞口92、作動口68(本実施例では左作動口68a及び右作動口68bの2つ)、一般入賞口72を含む。さらに遊技領域52には、図示しない多数の遊技釘や風車などの機構が設置される。
また、遊技領域52の外における正面から見て左下の部位には、特別図柄等表示装置53(主制御表示装置)が設置されており、この特別図柄等表示装置53には、図7(a)に示すように、第1特別図柄表示装置70、第2特別図柄表示装置71が設けられている。なお、本実施例においては、第1特別図柄表示装置70及び第2特別図柄表示装置71を総称して特別図柄表示装置と称する場合もある。
図1及び図3に示すように、第1始動入賞口62は第1の遊技に対応する始動入賞口として設けられ、第2始動入賞口63は第2の遊技に対応する始動入賞口として設けられる。第1始動入賞口62は、始動入賞検出装置74を備える。始動入賞検出装置74は、第1始動入賞口62への遊技球の入球を検出するセンサであり、入球時にその入球を示す第1始動入賞情報を生成(出力)する。
第2始動入賞口63は、始動入賞検出装置75と、普通電動役物(所謂「電動チューリップ」。図示略。)と、普通電動役物を開閉させるための普通電動役物ソレノイド76を備える。始動入賞検出装置75は、第2始動入賞口63への遊技球の入球を検出するセンサであり、入球時にその入球を示す第2始動入賞情報を生成(出力)する。普通電動役物ソレノイド76の駆動力により普通電動役物が拡開されると、所謂電チューサポートがされている状態となり、第2始動入賞口63への入球容易性が高まる。
なお、第2始動入賞口63は第1始動入賞口62の下、すなわち第1始動入賞口62によって遊技球の入球が阻害される位置に設けられる。そのため、普通電動役物が拡開しない間は、第2始動入賞口63への入球は第1始動入賞口62により阻害されることとなり、第2始動入賞口63は入球困難な状態が維持される。したがって、遊技において第2始動入賞口63への入球を狙うためには、普通電動役物を拡開させる必要がある。なお、本実施例では、普通電動役物が拡開された結果、第2始動入賞口63への入球容易性は、第1始動入賞口62への入球容易性よりも高くなっているが、第1遊技と第2遊技の結果得られる利益等に応じて適宜設定すればよく、普通電動役物が拡開していない場合には一切入球しない構造、或いは第1始動入賞口62と同程度の開口巾を有するようにしても良い。
ここで、第2始動入賞口63を拡開により開放する態様には、通常時における開放態様と、後述する特定遊技時における開放態様とがある。これらのうち通常時における開放態様には、例えば0.2秒程度の比較的短い時間で終わる短開放(以下では「ショート開放」と称する場合がある)や、この短開放の開放時間を延長して例えば5秒程度の開放を行う長開放(以下では「ロング開放」と称する場合がある)などがある。また、特定遊技時における開放態様には、例えば5秒程度の開放を行う長開放がある。ここで、以下では、短開放が行われている状態を「短開放状態」と称し、長開放が行われている状態を「長開放状態」と称することが可能である。そして、第2始動入賞口63を開放させるか否かや、どの態様で開放させるかは、普通電動役物に係る普通図柄に係る当り抽選の結果に基づいて決まるが、普通図柄や、普通図柄に係る当り抽選については後述する。
一般入賞口72は、遊技球の入球を検出するための一般入賞検出装置73(図3のブロック図を参照)を複数備える。一般入賞検出装置73は、一般入賞口72への遊技球の入球を検出するセンサであり、入球時にその入球を示す一般入賞情報を生成(出力)する。なお、一般入賞検出装置73は、一般入賞口に対して個々に有しても良いし、複数の一般入賞口72に入球した遊技球を一括して集合、検出しても良く、或いは各一般入賞口の配置位置(上下・左右)や設定される賞球個数(例えば、5個賞球と10個賞球など。)に応じて適宜グループ化して集合、検出しても良い。
図1に示すように、第1大入賞口91は第1の遊技に対応する大入賞口として設けられ、第2大入賞口92は第2の遊技に対応する大入賞口として設けられる。第1大入賞口91は、遊技球の入球を検出するための入賞検出装置78(図3のブロック図を参照)と、第1大入賞口91を開閉させるための第1の開閉扉(図示略)、及び第1の開閉扉を駆動する大入賞口ソレノイド80を備える。入賞検出装置78は、第1大入賞口91への遊技球の入球を検出するセンサであり、入球時にその入球を示す第1大入賞口入賞情報を生成(出力)する。
第2大入賞口92は、遊技球の入球を検出するための入賞検出装置79と、第2大入賞口92を開閉させるための第2の開閉扉、及び第2の開閉扉を駆動する大入賞口ソレノイド81を備える。入賞検出装置79は、第2大入賞口92への遊技球の入球を検出するセンサであり、入球時にその入球を示す第2大入賞口入賞情報を生成(出力)する。
第1大入賞口91は、第1特別図柄192(図7(a)を参照)が所定の態様にて停止したときに「大当り」として開放状態となる横長方形状の入賞口である。第1大入賞口91はアウト口58の上方の位置に設けられる。第2大入賞口92は、第2特別図柄193が所定の態様にて停止したときに「大当り」として開放状態となる横長方形状の入賞口である。第2大入賞口92はアウト口58の右上方の位置に設けられる。
なお、本実施例においては、第1大入賞口91、第2大入賞口92の前方に装飾板91b,92bが各々設けられており、各装飾板には、遊技領域52を装飾するための文字や図形などが描かれている。この装飾板91b,92bには、第1の開閉扉、第2の開閉扉、第1大入賞口91、及び第2大入賞口92を遊技者が視認できるように透明な材質が採用されているが、装飾板91b,92bを不透明としてもよい。また、第1大入賞口91と第2大入賞口92は1の大入賞口(たとえば第1大入賞口91)のみを配置して共通的に利用しても良い。
遊技領域52の略中央に演出図柄表示装置60が設けられ、その左下方に離れて第1の遊技に対応する第1特別図柄表示装置70と第2の遊技に対応する第2特別図柄表示装置71とが互いに左右に隣接する形で設けられている(図7(a)を参照)。第1特別図柄表示装置70には第1の遊技に対応する第1特別図柄192の変動が表示され、第2特別図柄表示装置71には第2の遊技に対応する第2特別図柄193の変動が表示される。第1特別図柄192は、第1始動入賞口62への遊技球の入球を契機として行われる第1の抽選の結果に対応した図柄であり、その変動表示が所定の当り態様にて停止されたときに大当りが発生し特別遊技(後述する)が実行される。第2特別図柄193は、第2始動入賞口63への遊技球の入球を契機として行われる第2の抽選の結果に対応した図柄であり、その変動表示が所定の当り態様にて停止されたときに大当りが発生し特別遊技(後述する)が実行される。
第1特別図柄表示装置70および第2特別図柄表示装置71は、例えば右下隅にドットが付加された7セグメントLED(7セグメント表示体)で構成される表示手段であり、第1特別図柄192および第2特別図柄193はそれぞれ「0」〜「8」の9種類の数字で表される。なお、図7(a)における第2特別図柄の右側には、特別遊技における単位遊技の回数を示すラウンド数表示装置(図番省略)が2桁の7セグメントLEDとして設けられており、後述する第1又は第2特別遊技の発生に応じて両特別遊技のラウンド数を共用的に表示するようになっている。
図7(b1),(b2)に示すように、演出図柄表示装置60の表示領域194には、第1特別図柄192や第2特別図柄193に係る演出に用いられる左の装飾図柄190a、中の装飾図柄190b、右の装飾図柄190cの変動や停止の様子が表示される。さらに、演出図柄表示装置60の表示領域194には、第1特別図柄192や第2特別図柄193に関係する各種の予告表示、演出のための各種のカットイン表示、及び、各種の背景表示なども行われる。演出図柄表示装置60は、たとえば液晶ディスプレイである。装飾図柄190a〜190cは、第1特別図柄192で示される第1の抽選の結果表示または第2特別図柄193で示される第2の抽選の結果表示を視覚的に演出するための図柄である。演出図柄表示装置60は、装飾図柄190a〜190cとして、例えばスロットマシンのゲームを模した複数列の図柄変動の動画像を表示領域194に表示する。
演出図柄表示装置60は、本実施例では液晶ディスプレイで構成されるが、機械式のドラムやLEDなどの他の表示手段で構成されてもよい。なお、第1特別図柄192および第2特別図柄193は必ずしも演出的な役割をもつことを要しないため、本実施例では演出図柄表示装置60の左下方の第1特別図柄表示装置70および第2特別図柄表示装置71にて目立たない大きさで表示させるが、特別図柄自体に演出的な役割をもたせて装飾図柄を表示させないような手法を採用する場合には、特別図柄を演出図柄表示装置60のような液晶ディスプレイに表示させてもよい。また、本実施例では、装飾図柄190a〜190cを、演出図柄表示装置60において、第1特別図柄192と第2特別図柄193とで共通で採用したものを例示しているが、個別に表示したり、装置自体を別個に設けてもよく、本実施例のように共用する場合にはいずれの特別図柄に対応した表示であるかを示す表示を演出図柄表示装置60の隅部に表示しても良い。
左右の作動口68a,68bのうち、左作動口68aは、遊技盤50の左側方中段位置に設けられ、右作動口68bは、遊技盤50の右側方で且つ第2大入賞口92の右上方の位置に設けられる。各作動口68a,68bは、各々が通過検出装置69a,69b(図3を参照)を含む。通過検出装置69a,69bは、対応する作動口68a,68bにおける遊技球の通過を検出するセンサであり、通過時にその通過を示す通過情報を生成(出力)する。作動口68a,68bへの遊技球の通過は第2始動入賞口63の普通電動役物を拡開させるための抽選の契機となる。
遊技者が発射ハンドル17を手で回動させると、その回動角度に応じた強度で上球皿15に貯留された遊技球が1球ずつ内レールと外レールに案内されて遊技領域52へ発射される。遊技者が発射ハンドル17の回動位置を手で固定させると一定の時間間隔で遊技球の発射が繰り返される。遊技領域52の上部へ発射された遊技球は、複数の遊技釘や風車に当りながらその当り方に応じた方向へ落下する。遊技球が一般入賞口72、第1始動入賞口62、第2始動入賞口63、第1大入賞口91、第2大入賞口92の各入賞口へ落入すると、その入賞口の種類に応じた賞球が上球皿15または下球皿16に払い出される。一般入賞口72等の各入賞口に落入した遊技球はセーフ球として処理され、アウト口58に落入した遊技球はアウト球として処理される。なお、各入賞口は遊技球が通過するゲートタイプのものを含み、本願において「落入」、「入球」、「入賞」というときは「通過」を含むものとする。
遊技球が第1始動入賞口62に入球すると、第1特別図柄表示装置70において第1特別図柄192が変動表示され、演出図柄表示装置60の表示領域194において装飾図柄190a〜190cが変動表示される。遊技球が第2始動入賞口63に入球すると、第2特別図柄表示装置71において第2特別図柄193が変動表示され、演出図柄表示装置60の表示領域194において装飾図柄190a〜190cが変動表示される(図7(b1)を参照)。第1特別図柄192、第2特別図柄193、装飾図柄190a〜190cの変動表示は、表示に先だって決定された変動時間の経過後に停止される(図7(b2)を参照)。停止時の第1特別図柄192および装飾図柄190a〜190cが大当り態様であった場合、通常遊技よりも遊技者に有利な遊技状態である特別遊技に移行し、第1大入賞口91の開閉動作が開始される。このときスロットマシンのゲームを模した装飾図柄190a〜190cは、3つの図柄を一致させるような表示態様をとる。停止時の第2特別図柄193および装飾図柄190a〜190cが大当り態様であった場合、通常遊技よりも遊技者に有利な遊技状態である特別遊技に移行し、第2大入賞口92の開閉動作が開始される。
特別遊技は、第1大入賞口91または第2大入賞口92が開放される単位遊技が複数回繰り返される遊技であり、単位遊技が最大回数である16回(16R(ラウンド))繰り返される特別遊技と、単位遊技が10回(10R(ラウンド))繰り返される特別遊技と、単位遊技が最少回数である4回(4R(ラウンド))だけ繰り返される特別遊技などがある。また、大当りの種類に応じて、16回の単位遊技を行う特別遊技、10回の単位遊技を行う特別遊技、及び、4回の単位遊技を行う特別遊技の何れにも複数の態様が設定されているが、具体的な大当りの種類については後述する。また、各ラウンドにおいては、第1大入賞口91または第2大入賞口92において、所定数(例えば9個)の遊技球が検出された場合、又は、開放して所定時間(例えば約30秒)が経過した場合に、終了条件が成立して第1大入賞口91または第2大入賞口92が閉鎖される。
特別遊技が発生した場合であって抽選などの所定の条件が満たされた場合、特別遊技の終了後に特定遊技として確率変動遊技(以下、「確変」という)や変動時間短縮遊技(以下、「時短」という)が開始される。確変中は、通常の確率状態より大当りの確率が高い抽選が行われ、比較的早期に新たな特別遊技が発生する。また、16R大当りの場合、10R大当りの場合、及び、4R大当りの場合の何れにおいても、その特別遊技の終了後に確変が開始される。時短中は、第1特別図柄192または第2特別図柄193の変動時間が概ね短縮される。
さらに、本実施例においては、確変状態は、特別遊技終了後の第1特別図柄192及び第2特別図柄193の合計の変動回数が所定回数(ここでは104回)に達するまで継続され、時短は、同じく合計の変動回数が所定回数(ここでは100回)に達するまで継続される。つまり、本実施例においては、特定遊技状態が、特別遊技終了後の所定の変動回数の間に限り継続するタイプのゲーム性が採用されている。さらに、確変状態が継続する確変期間(所謂ST期間)と、時短状態が継続する時短期間とでは、互いに終期が異なっており、確変期間が時短期間よりも所定期間(ここでは変動回数にして4回分)長く継続するようになっている。なお、確変期間と時短期間を同じ変動回数に設定してもよく、確変期間が時短期間よりも短くてもよい。また、確変期間の変動回数を、例えば4回のような相対的に短い期間としてもよい。
第1特別図柄192、第2特別図柄193および装飾図柄190a〜190cの時短中は、特定遊技の一つである入球容易状態が実施される。この時短中の入球容易状態は、普通図柄(後述する)の時短、開放抽選の確率変動(普通図柄の抽選に係る確率変動)、普通電動役物の開放延長が実施されることにより第2始動入賞口63への入球容易性が高められる状態である。普通図柄の時短は、普通図柄の変動時間が通常状態より短縮される状態である。開放抽選の確率変動は、開放抽選の当り確率を通常状態より高める状態である。普通電動役物の開放延長は、普通電動役物の開放時間を通常時の短開放よりも長くして長開放を行うものである。
このように、入球容易状態においては、一定時間あたりの普通図柄の変動回数が通常状態よりも増加する可能性が高まる上、第2始動入賞口63への入球容易性も増すため、第2始動入賞口63への入球数が増加する可能性も高い。したがって、第1特別図柄192、第2特別図柄193および装飾図柄190a〜190cの時短および入球容易状態により、その期間中は第2始動入賞口63への入球による賞球を得られる機会が増加する結果、持ち玉をほとんど減らさずに遊技し続けることが可能となる。
なお、本実施例における時短中の入球容易状態は、普通図柄の時短、開放抽選の確率変動、普通電動役物の開放延長という3つの機能を用いて第2始動入賞口63への入球容易性を高める。ただし、変形例としては、これら3つの機能のうち、1つまたは2つの機能を用いて第2始動入賞口63への入球容易性を高める構成としてもよい。このように3つの機能のうち一部だけを用いても第2始動入賞口63への入球容易性を高めることは可能である。また、3つの機能のうち少なくともいずれかを、実施する期間と実施しない期間とで遊技状態に応じて切り替える構成としてもよい。
また、本実施例では、普通図柄の時短は、特別図柄の時短の終了に伴って終了し、特別図柄の時短が終了した以降に開始される普通図柄の変動時間(変動パターン)は、通常状態のために設けられた変動パターンの中から決定される。
さらに、このような入球容易状態における普通電動役物の開放パターン(特定遊技時の開放態様)としては、前述のように、例えば5秒程度の長開放を行うものが採用されている。そして、この長開放の具体的態様としては、開放の開始から終了までの開放期間を1回の開放により構成した連続開放態様を例示できる。また、これ以外の態様としては、開放の開始から終了までの開放期間を複数回の開放により構成した断続開放態様などがある。そして、この断続開放態様としては、例えば、2.32秒、1.60秒、1.60秒の各開放時間の間に、一旦閉鎖状態となるインターバル時間を介在させて、合計で例えば5.52(=2.32+1.60+1.60)秒の開放時間を確保したものなどを例示できる。また、本実施例では、この他にも、2.96秒、1.14秒、1.56秒の各開放時間の組合せによる開放パターンや、1.14秒、1.60秒、1.60秒、1.14秒の開放の各開放時間の組合せによる開放パターンなども設けられている。
なお、上述の連続開放態様及び断続開放態様の何れを実行するかを抽選により選択することや、各種の断続開放態様の何れを実行するかを抽選することなども可能である。また、ここで説明した特定遊技時の長開放の開放態様を、以下では「特定遊技時長開放」(又は「時短時長開放」)と称する場合がある。さらに、断続開放態様における例えば0.5秒の短時間の開放は、「特定遊技時短開放」又は「時短時短開放」等と称することが可能である。
左作動口68a(又は右作動口68b)を遊技球が通過すると、所定時間、前述の普通図柄と呼ばれる図柄が普通図柄表示装置59に変動表示される。普通図柄表示装置59は特別図柄等表示装置53に設けられており、本実施例では星形の三つのランプが所定の組合せで点灯と消灯を繰り返す形で普通図柄の変動表示を表現し、どのような組合せのランプが最終的に点灯したまま変動停止するかによって普通図柄の抽選結果を表す。所定時間の経過後に普通図柄の変動表示が所定の当り態様にて停止すると、第2始動入賞口63の普通電動役物が所定時間拡開する。なお、本実施における「ランプ」の用語はLED等も含む意味を有している。
上述のような普通図柄に係る当り抽選においては、はずれ図柄と当り図柄とが設けられている。そして、本実施例においては、当たり図柄に、ショート当り図柄とロング当り図柄とが設けられており、普通図柄に係る当り抽選は、大きく分けて、はずれ図柄、ショート当り図柄、ロング当り図柄の3種類の図柄を用いて行われるようになっている。さらに、本実施例では、ショート当り図柄として2種類の図柄が設けられており、ロング当り図柄として1種類の図柄が設けられている。なお、本実施例では、上述のように普通図柄の表示に三つのランプが用いられているので、例えば、ショート当り図柄やロング当り図柄の種類を更に増やすことが可能である。
普通図柄に係る当り抽選に所定の確率で当せんした場合には、当り図柄に応じて第2始動入賞口63が開放される。また、普通図柄に係る当り抽選における当り態様には、前述の短開放に対応したものと、長開放に対応したものとがある。なお、以下では、このような通常時における第2始動入賞口63の短開放を「通常時短開放」と称し、長開放を「通常時長開放」と称する場合がある。また、通常時長開放についても、前述の特定遊技時長開放(時短時長開放)と同様に、連続開放態様の他に断続開放態様などを採用し、これらに対応した当り図柄を予め設定しておくことが可能である。さらに、はずれを含めた普通図柄に係る当り抽選の全体における通常時長開放の当選確率を、例えば1.8%程度とすることが考えられる。また、本実施例では、通常時長開放における開放時間は5.4秒程度(0.2秒の開放の後に一旦閉鎖を経て5.2秒の開放を行う断続開放態様)となっている。さらに、本実施例では、普通図柄に係る当りについては、0.2秒の短開放に対応した2種類の当りと、上述の長開放に対応した1種類の当りとが設けられている。また、通常時長開放と前述の時短時長開放とに、同じ開放パターンのものがあってもよい。
演出図柄表示装置60の周囲には、センター飾り64が設けられる。センター飾り64は、遊技球の流路、演出図柄表示装置60の保護、装飾等の機能を有する。多数の遊技効果ランプ(LED等、図示しない)がセンター飾り64の内部に設けられ、点滅等することで演出の役割を果たす。また、センター飾り64には、可動演出部材93,94が設けられており、これらが演出用のギミックを構成している。さらに、センター飾り64の、正面から見て右側の部位には遊技球通路部65が形成されている。そして、遊技球を遊技領域52の右側に向けて発射する所謂右打ちが行われると、センター飾り64の上方を通った遊技球が、この遊技球通路部65を流下して、右作動口68bや第2大入賞口92が配置された領域へ向かうことが可能となっている。
また、第1の遊技に対応する第1特図保留ランプ20は第1特別図柄表示装置70の上方に設けられ、第2の遊技に対応する第2特図保留ランプ21は第2特別図柄表示装置71の上方に設けられ、普通図柄変動に対応する普図保留ランプ22は普通図柄表示装置59の主に左側に設けられる。
第1特図保留ランプ20および第2特図保留ランプ21は、それぞれ2個のランプからなり、それぞれの点灯個数または点滅個数によって第1の遊技および第2の遊技のそれぞれにおける当否抽選値の保留数を表示する。第1特図保留ランプ20における当否抽選値の保留数は、第1特別図柄192の変動中または特別遊技の実行中に第1始動入賞口62へ入賞した個数であり、図柄変動がまだ実行されていない入賞球の数を示す。第2特図保留ランプ21における当否抽選値の保留数は、第2特別図柄193いずれかの変動中または特別遊技の実行中に第2始動入賞口63へ入賞した個数であり、図柄変動がまだ実行されていない入賞球の数を示す。
すなわち、先に行われている図柄変動が終了していない場合には変動開始条件が成立せず、新たな図柄変動は開始されないが、当該図柄変動が終了すると変動開始条件が成立し、新たな図柄変動が開始されることとなる。この際、保留記憶されていた乱数値を用いた抽選が実行され、大当りの有無や図柄の変動パターンなどが決定される。なお、本実施例の場合は、前述のように第2の遊技が優先的に実行されるので、第1特別図柄192については、第2特別図柄193の保留抽選値に対応する図柄変動が全て終わって、保留抽選値が全て消化されたことも変動開始条件となる。
普図保留ランプ22もまた3個のランプからなり、その点灯個数または点滅個数によって普通図柄変動の保留数を表示する。普通図柄変動の保留数は、普通図柄の変動中に作動口68a(又は68b)を通過した遊技球の個数であり、普通図柄の変動がまだ実行されていない普通図柄抽選の数を示す。
そして、普通図柄に関しても同様に、先に行われている図柄変動が終了していない場合には変動開始条件が成立せず、新たな図柄変動は開始されないが、当該図柄変動が終了すると変動開始条件が成立し、新たな図柄変動が開始されることとなる。この際、保留記憶されていた乱数値を用いた抽選が実行され、当りの有無や図柄の変動パターンなどが決定される。
操作ボタン82は、遊技者が遊技機側所定の指示を入力するために操作するボタンである。この操作ボタン82は、上球皿15の上部の外壁面に設けられており、上球皿15の左右方向の中央近傍に位置している。
操作ボタン82は、ボタン演出が実行された場合に遊技者によって操作され、遊技者に対し、自分が遊技の演出や当否抽選に参加しているような感覚を与える機能を発揮するものである。ボタン演出としては、例えば装飾図柄の変動表示過程で行われるリーチ演出中に、演出図柄表示装置60の表示領域194に操作ボタン82の図柄とともに、「Push」、「連打せよ」、「長押しせよ」等といった文字や、或いは残り時間を示すインジケータの動画などが表示され、遊技者がこれに従って操作ボタン82を操作すると、登場人物がコメントを発するような演出や、味方キャラクタが敵キャラクタに対する攻撃を行うような演出が挙げられる。また、本実施例においては、操作ボタン82の操作に応答して可動演出部材93,94が所定の動作を行った場合には、その時のリーチ演出に係る大当りの信頼度が高く、操作ボタン82を操作しても可動演出部材93,94が所定の動作を行わない場合には、その時のリーチ演出に係る大当りの信頼度が低い、といった態様で演出が実行されることもある。
通常時は操作ボタン82の操作が無効となっているが、ボタン演出中は操作ボタン82の操作が有効となるボタン操作有効期間となっている。ボタン操作有効期間は、予め設定された一定時間となっている。なお、操作ボタン82に振動モータ(図示略)を組み合わせて、操作ボタン82を振動させる振動演出や、操作ボタン82の動作範囲を拡大して操作ボタン82を突没させるといった演出態様や、操作ボタン82を比較的大きく突出させるといった演出態様を実行することも可能である。
演出図柄表示装置60の表示領域194の下部には、図7(b1),(b2)中に示すように、第1の遊技における当否抽選値の保留数を示す第1保留数表示部196と、第2の遊技における当否抽選値の保留数を示す第2保留数表示部197とが表示される。ちなみに、保留表示については第1の遊技、第2の遊技の保留数が増加すると、夫々の遊技者からみて左側(図7(a)でも左側)を基準として順次表示が変化するようになっており、通常遊技時に多く入賞する第1始動入賞口62側(第1の遊技)の保留表示を基準側(左側)に、通常時にほとんど入賞しない第2始動入賞口63側(第2の遊技)の保留表示を右側に表示している。これは通常時の保留状態を遊技者が直感的に把握しやすくなることが期待できるためである。なお、普通図柄表示装置59の表示内容に対応した普通装飾図柄を、普通図柄表示装置59とは別途設けてもよく、この場合は、例えば演出図柄表示装置60を利用することが可能である。
<<本実施例における主要な演出内容の概要>>
本実施例においては、多数の演出パターン(変動演出パターン)が備えられ、遊技の状況に応じて選択された演出パターンに応じて、演出図柄表示装置60に動画が表示される。各状況における演出パターンは、選択された演出パターンに更に、所定のキャラクタやアイテムの動画などを組合わせることで構成される場合もある。
<<通常時長開放に係る演出内容の概要>>
また、本実施例においては、前述の第2始動入賞口63における通常時長開放に関係した演出が、演出図柄表示装置60やスピーカ19等を用いて実行される場合がある。そして、この通常時長開放に関係した演出として、通常時長開放が実行されるか否を示す抽選演出と、この抽選演出の結果に対応して実行される長開放用演出とが設けられている。なお、以下では、通常時長開放のことを単に「長開放」と称する場合がある。
これらのうち抽選演出としては、例えば、ルーレットやおみくじ、或いは、2桁の図柄合わせ、といった抽選に係る動画表示を行うものを例示できる。さらに、上述の普通図柄に係る当り抽選において通常時長開放に当せんしている場合には、当せんを示す内容の抽選演出が実行され、通常時長開放に当せんしていない場合には、はずれを示す内容の抽選演出が実行される。
また、はずれを示す内容の抽選演出は、通常時長開放に当せんしておらず、且つ、所定の確率で抽選演出に係る変動パターンが選択された場合に実行される。さらに、はずれの抽選演出に係る変動パターンが選択される場合としては、メイン基板102において選択される場合と、サブメイン基板301で独自に選択される場合とがある。そして、本実施例において抽選演出は、通常時長開放に当せんしている場合には高い確率(例えば100%)で実行され、通常時長開放に当せんしていない場合には、低い確率(例えば0.1%程度)で実行される。
さらに、抽選演出の内容と、第2始動入賞口63の開放パターンとの関係を多様に設定することが可能である。例えば、抽選演出の内容としてルーレットを用いた演出を採用し、ルーレットの目として設けられた選択肢に、「開放」、「×」、「チャンス」、「リーチ」等を割り当てる。そして、通常時長開放に当せんしなかった場合に、抽選演出の内容として「×」が選択される様子を表示し、第2始動入賞口63の開放を行わない、又は、短開放のみ行うようにする。さらに、通常時長開放に当せんした場合には、ルーレットにおいて「開放」が選択される演出を実行し、必ず長開放を行う。また、変動演出において、段階的に発展する内容の演出や、スーパーリーチに発展する内容の演出などが実行される場合には、抽選演出に係るルーレットにおいて「チャンス」或いは「リーチ」が選択される様子を表示し、第2始動入賞口63の開放を行わない、又は、短開放のみ行うようにする、といったことが考えられる。
また、前述の「長開放用演出」は、前述の第2始動入賞口63における通常時長開放に関係した特別な演出という位置付けにあるが、制御上は、長開放と長開放用演出との直接的な関係付けは行われていない。つまり、本実施例では、右打ちが行われていない通常の場合(左打ち時)には、第1始動入賞口62への入賞が殆どである一方、右打ち時には、第1始動入賞口62には殆ど入球することはなく、入賞が発生する場合は概ね第2始動入賞口63のものとなる。さらに、前述したように、第2の遊技が第1の遊技よりも優先して実行されるため、長開放の際に第2始動入賞口63への入賞があった場合には、第1特別図柄192に係る保留記憶情報があっても、次回の変動演出は第2特別図柄193に対応したものとなる。そして、本実施例においては、長開放用演出は、特定遊技時とは異なる通常遊技時の第2特別図柄193の変動に係る演出として、100%の割合で実行されるようになっている。
長開放用演出は、ノーマル変動演出では表示されないような場面、人物、或いは、アイテムなどの特別な画像要素の表示が行われたり、これらの特別な画像要素に伴う音出力や光装飾などが組み合されたりするものである。この長開放用演出としては、例えば、長開放用演出以外の演出では出現することのないキャラクタが登場して長開放用演出専用の特別な行為を行うものや、長開放用演出専用の特別な抽選装置(所謂クルーンタイプの遊技球振分け装置など)において遊技球がV入賞口に入球するか否かの様子を表示するもの、などを例示できる。
そして、通常時に、短縮変動の変動パターンがメイン基板102において選択された場合には、サブメイン基板301において遊技の状況が判定され、短縮変動に対応した変動時間で実行される長開放用演出の演出変動パターンが、必ず選択される。また、特定遊技中の所定期間(ここでは後述する「電サポ」期間中)に、メイン基板102において短縮変動変動パターンが選択された場合には、サブメイン基板301において遊技の状況が判定され、長開放用演出と、長開放用演出以外の変動演出に係る演出変動パターンを併せ持った変動演出パターンテーブルを用いて、演出変動パターン抽選が実行される。そして、この演出変動パターン抽選により、長開放用演出、或いは、他の変動演出の何れかの変動演出パターンが選択される。
また、本実施例では、保留数に関わらずに長開放用変動パターンの選択が行われるが、これに限定されず、保留数が多い場合には、例えば、変動時間の短い長開放用変動パターンが選択されるようにしてもよい。さらに、変動パターンの割り当てに係る基本的な構成については後述する。なお、長開放用演出や、前述の抽選演出を、先読み演出(後述する)として行うことが可能である。
<<大当りに伴う遊技の概要>>
第1の遊技において大当り(第1特図当り)が発生した場合、第1大入賞口91を用いた特別遊技が実行される。そして、第1の抽選に係る大当りの種類に応じたパターンで第1大入賞口91が開放動作し、出球の有無や出球の量についての結果が得られる。また、本実施例では、前述のように全ての大当りに確変や時短が付与されており、特別遊技の後に右打ちを伴う遊技が行われる。すなわち、第1の遊技における特別遊技の終了後、演出図柄表示装置60の画像や音声などによって右打ちを促す演出が実行される。そして、遊技者が、発射ハンドル17の回動量を時計回りに増やして発射力を強め、遊技球を遊技領域52の右側の領域に向けて発射すると、センター飾り64の上方を通った遊技球が、センター飾り64の遊技球通路部65に進入し、センター飾り64を流下する。さらに、センター飾り64から放出された遊技球は、複数の遊技釘や他の構造物に当りながらその当り方に応じた方向へ落下する。
センター飾り64から放出された多数の遊技球のうちの一部は、右作動口68b(図1参照)を通過して通過検出装置69b(図3を参照)により検出される。そして、前述のように、右作動口68bを遊技球が通過すると、所定時間、前述の普通図柄と呼ばれる図柄が普通図柄表示装置59(図3、図7(a)参照)に変動表示され、普通図柄の変動表示が所定の当り態様にて停止すると、第2始動入賞口63の普通電動役物が所定時間拡開する。
本実施例においては、遊技領域52の右側に達した遊技球を、釘等によって、第2始動入賞口63や第2大入賞口92の周辺に導くことが可能となっており、第2始動入賞口63の普通電動役物が1回拡開した際に、多くの場合は1個、状況によっては数個程度の遊技球が、第2始動入賞口63に入球し得るようになっている。さらに、本実施例では、一部を除いた確変大当りには時短が付加されるようになっており、時短中は普通電動役物の開放延長が行われる。
第2始動入賞口63への入球に基づき、第2の遊技の大当り(第2特図当り)が発生した場合、第2大入賞口92を用いた特別遊技が実行される。そして、前述した第2の抽選に係る大当りの種類に応じたパターンで第2大入賞口92が開放動作し、出球の有無や出球の量についての結果が得られる。また、前述のように、発生した大当りの種類に応じて、特別遊技の終了後の確変や時短の有無が決まる。
なお、大当り、特別遊技、右打ち、時短、電チューサポート等の関係については、上述のものに限らず、例えば、第1の遊技又は第2の遊技に係る特別遊技中に右打ちを行うもの、確変を伴わない通常大当りに係る特別遊技後について時短を付与するもの、一部の確変大当りについては特別遊技後に時短を付与しないものなど、種々の関係を採用することが可能である。
<ぱちんこ遊技機の背面構成及び電気的構成の概要>
図2は、ぱちんこ遊技機の背面側における基本的な構造を示す。図2に示すように前枠12の背面には、遊技球を誘導又は回収するための機構を備えたセット基盤39が取着されており、このセット基盤39の下方に、遊技機全体に電源を供給するための電源ユニット48、遊技機枠側の制御を行う払出制御基板45が取り付けられている。また、遊技盤背面には、遊技全体を統括制御するメイン基板(主制御基板)102、メイン基板102から受信される情報や独自に入力される情報に基づいて液晶ユニット42(演出図柄表示装置60)等の各種演出装置の動作を制御するサブ基板104がセット基盤39の開口に対応するような位置に取り付けられている。
セット基盤39には、その上部に賞球を貯留する賞球タンク44、賞球タンク44に貯留された遊技球を整流案内する賞球通路、賞球通路と連絡し賞球タンク44内に貯留された球を1球単位で下方に流下排出可能な払出ユニット43、払出ユニット43から流下された遊技球を賞球として球皿(上球皿15又は下球皿16)に案内する賞球排出通路が図2のように遊技盤の上方から背面視右側部に亘って逆L字状に形成・配置されるとともに、遊技盤の背面中央に対応する位置に適宜広さの開口部が設けられている。
電源ユニット48は図2のように遊技機の背面視左下に設けられており、遊技機外部から供給される交流電源を遊技機全体(メイン基板102、サブ基板104を含む制御装置や液晶ユニット42等の演出装置など)で使用する各種の電圧に変換・生成して供給するものである。電源ユニット48の右側には、電源ユニット48から遊技機各部へ供給する電源を遮断するために傾倒スイッチで構成される電源スイッチ40が、遊技球が直撃落下してもオフにならないように、下側に傾倒したとき(スイッチの中央より下を押したとき)にオンとなるように設けられている。
払出制御基板45は、図2のように遊技機の背面視右下に設けられており、主に、メイン基板102からの払出に係る指令や外部からの貸出要求に応じて払出ユニット43を制御する払出制御機能と、発射ハンドル17の操作量に応じた強度で遊技球を遊技領域に発射するように発射装置を制御する発射制御機能とを備えたものであり、CPU・ROM・RWM(リードライトメモリ、以下略。)を中心に適宜入出力回路等を備えている。
メイン基板102は、図2のように遊技盤50の背面視中央下部に設けられており、主に、第1始動入賞口62、第2始動入賞口63へ入賞したことに基づく抽選処理等、遊技機の出球に関する処理や、サブ基板(演出制御基板)104、払出制御基板45等に対する制御指令(制御コマンド)、遊技状態情報等を出力する処理など、遊技機全体の中心的な制御機能を備えたものであり、前述の払出制御基板45と同様にCPU・ROM・RWMや適宜入出力回路を備えている。
サブ基板104は、図2のように遊技盤の背面視中央上部に、液晶ユニット42と一体的に設けられており、主に、液晶ユニット42(演出図柄表示装置60)における表示内容を制御する機能を備えたものであり、先のメイン基板102、払出制御基板45と同様にCPU・ROM・RWMや適宜入出力回路を備えている。なお、サブ基板104は画像を制御する機能を有する関係上、サブ基板用の主CPUに加え、画像用のVDP、VDPを制御する画像制御専用のCPUも搭載している。
そして、これらのメイン基板102、払出制御基板45、およびサブ基板104は、遊技制御装置100を構成する。なお、メイン基板102、払出制御基板45、およびサブ基板104の詳細については後述する。また、サブ基板104については、演出制御の主体的な機能を担う主サブ基板(本実施例ではサブメイン基板301)と、画像作成などの特定の演出機能に特化した副サブ基板(本実施例ではサブサブ基板302)とに分かれているが、「サブ基板」の用語はこれらを総称したものである。そして、サブメイン基板301とサブサブ基板302の詳細については後述する。また、セット基盤39の図2中における右上部には、メイン基板102や払出制御基板45等からの信号をぱちんこ遊技機10の外部の機器へ中継する外部中継端子基板49が設けられている。
<ぱちんこ遊技機の主要な機能ブロック及び機能の概要>
図3は、本実施例のぱちんこ遊技機10における遊技制御装置100と、遊技制御装置100に対する入出力機器とを機能ブロックにより示している。ぱちんこ遊技機10において、遊技制御装置100は、第1始動入賞口62、第2始動入賞口63、第1大入賞口91、第2大入賞口92、一般入賞口72、作動口68(本実施例では68a,68b)、第1特別図柄表示装置70、第2特別図柄表示装置71、演出図柄表示装置60、普通図柄表示装置59、操作ボタン82、スピーカ19、遊技効果ランプ90のそれぞれと電気的に接続されており、各種制御信号の送受信を可能とする。遊技制御装置100は、遊技の基本動作だけでなく、図柄変動表示や電飾等の演出的動作も制御する。遊技制御装置100は、遊技の基本動作や遊技の進行を含むぱちんこ遊技機10の全体動作を制御する主制御装置としてのメイン基板102と、図柄の演出等を制御する副制御装置としてのサブ基板104とに機能を分担させた形態で構成される。なお、実際には遊技制御装置100の機能の一部として存在する払出制御基板45及び、この払出制御基板45により制御される部分の機能については一般的なものを採用可能であるため、図3での記載及び説明は割愛し、必要な部分については、適宜説明する。
また、本実施例においてブロック図中のブロックとして説明されている構成(特に各種の機能的手段や機能的部分)については、CPUやROM、RWMによって実現されている機能に該当するものが含まれている。
<ぱちんこ遊技機の電気的構成の詳細>
次に、前述の各電気的構成(図2,図3参照)のうち主要なものについて説明する。先ず、図4に示すように、ぱちんこ遊技機10には、電源基板251、払出制御基板45、メイン基板102、及びサブ基板104が備えられている。電源基板251には、上記払出制御基板45等が接続されている。払出制御基板45には、上記メイン基板102、遊技球等貸出装置接続端子板252、及びハンドル接続基板253等が接続されており、メイン基板102には、遊技盤接続基板254や、演出インターフェースA基板(図示略)等が接続されている。そして、遊技盤接続基板254には、図柄表示基板256が接続されている。
ここで、電源基板251は、前述の電源ユニット48に備えられている。また、払出制御基板45には、図示を省略するが、エラーの種別の表示などに用いられる状態表示部や、球貸しに係る金銭処理や球貸処理を実行するカードユニットなども接続されている。さらに、遊技球等貸出装置接続端子板は、球貨操作に用いられる球貨操作基板(図示略)等が接続される。ハンドル接続基板253には、発射装置のタッチスイッチ(図示略)や発射停止スイッチ(図示略)等が接続される。また、遊技盤接続基板254には、図柄表示基板256のほか、前述の通過検出装置69、普通電動役物ソレノイド76、第1大入賞口91の入賞検出装置78や大入賞口ソレノイド80、第2大入賞口92の入賞検出装置79や大入賞口ソレノイド81、一般入賞検出装置73,磁気センサや電波センサ(図示略)等が接続されている。さらに、図柄表示基板256は、前述の特別図柄等表示装置53に備えられているものであり、図柄表示基板256には、第1特別図柄表示装置70や第2特別図柄表示装置71が設けられている。
前述の演出インターフェースA基板は、メイン基板102と他の機器とを中継するものであり、この演出インターフェースA基板には、サブ基板104や、演出インターフェースB基板(図示略)が接続されている。また、サブ基板104には、前述の液晶ユニット42が接続されている。
演出インターフェースB基板は、演出インターフェースA基板やサブ基板104と他の機器とを中継するものであり、この演出インターフェースB基板には、図示を省略するが、プラ枠接続基板、各種の枠電飾基板、各種の枠モータ、センター飾り64の各種電飾基板、可動演出部材93,94の各種の可動体モータ等が接続されている。ここで、枠モータは、遊技機枠に備えられた可動演出部材(図示略)の駆動に用いられるものである。
プラ枠接続基板には、上球皿15や下球皿16に設けられた皿電飾接続基板259、各種スピーカ19に接続される各種スピーカ接続基板のうちの下スピーカ接続基板260が接続されており、皿電飾接続基板259には、演出ボタン基板261が接続されている。演出ボタン基板261は、操作ボタン82が備えられたボタン装置に設けられているもので、操作ボタンが押圧操作されたことを検出するスイッチ(図示略)や、操作ボタン用発光体82a(図示略)等を搭載している。
次に、電源基板251やメイン基板102等の構成について説明する。図4に示すように、メイン基板102には、演算装置である1チップマイコンとしてのCPU501が搭載されている。また、メイン基板102には、CPU501により実行される各種の制御プログラムや固定値データを記憶したROM502と、そのROM502内に記憶される制御プログラムの実行に際して各種のデータ等を一時的に記憶するためのメモリであるRWM503と、CPU501の外部に所定のデータの出力を行うデータ出力部516と、そのほか、割込回路やタイマ回路、データ送受信回路などの各種回路(図示略)が形成されている。
上述のCPU501としては、例えば樹脂パッケージングされたCPU装置内の1チップマイコンを利用可能であり、本実施例では、CPU装置内に、図示は省略するが、制御用クロック生成回路、乱数用クロック生成回路、16ビット乱数用の乱数回路、8ビットの乱数用の乱数回路が形成されている。上述の16ビット乱数用の乱数回路、及び、8ビットの乱数用の乱数回路は、内蔵乱数であるハードウエア乱数(後述する)を発生させるためのものである。なお、図4中のROM502やRWM503は、CPU装置に内蔵されたもの、及び、CPU装置に対して外付けられたものを含む包括的な概念のものである。
RWM503は、ぱちんこ遊技機10の電源の遮断後においても電源基板251からバックアップ電圧が供給されてデータを保持(バックアップ)できる構成となっており、RWM503には、各種のデータ等を一時的に記憶するためのメモリやエリア(図示略)の他に、バックアップエリア503aが設けられている。
バックアップエリア503aは、停電(瞬間的な電圧降下による停電を含む)などの発生により電源が遮断された場合(電断が生じた場合)において、電源遮断時のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアであり、電源投入時(停電解消による電源投入を含む。以下同様)には、バックアップエリア503aの情報に基づいてぱちんこ遊技機10の状態が電源遮断前の状態に復帰される。バックアップエリア503aへの書き込みはNMI割込処理(電源断処理)によって電源遮断時に実行され、バックアップエリア503aに書き込まれた各値の復帰は電源投入時の制御開始処理において実行される。バックアップエリア503aとしては、CPU501に対して外付けされバックアップ電源の接続された外部RWMを利用することが可能である。
メイン基板102には、停電等による電源遮断を監視する停電監視回路部506が設けられている。この停電監視回路部506は、停電等の発生による電源遮断時に、メイン基板102のCPU501のNMI端子504、及び払出制御基板45のNMI端子514へ停電信号を出力するための回路である。停電監視回路部506は、電源基板251の電源部541から出力される最大電圧である直流安定(例えば30ボルト)の電圧を監視し、この電圧が所定電圧未満になった場合に停電(電源遮断)の発生と判断して、電断信号をメイン基板102におけるCPU501のNMI端子504や他の基板へ出力する。電断信号の入力によって、メイン基板102におけるCPU501、払出制御基板45におけるCPU511は、即座にNMI割込処理を実行する。ここで、NMI端子への信号入力は、停電監視回路506から適正に電断信号の出力があった場合のほか、ノイズの混入などの場合にも生じ得るものである。
なお、電源基板251の電源部541は、直流安定電圧が所定電圧未満になった後においても、NMI割込処理の実行に充分な時間の間、制御系の駆動電圧である5ボルトの電圧の出力を正常値に維持するように構成されている。よって、メイン基板102及び払出制御基板45は、NMI割込処理を正常に実行し完了することができる。
また、本実施例においては、サブメイン基板301にも、停電監視回路部506から電断信号に基づき、メイン基板102から、電断信号となり電源電圧の低下の有無を示す値(0又は1)が入力されている。サブメイン基板301のバックアップ機能については後述する。
なお、停電監視回路部506は、メイン基板102以外の部位に配置することも可能である。例えば、電源基板251上に停電監視回路部506を形成して、電源基板251上において停電監視回路部506から各基板へ電断信号を入力してもよい。また、メイン基板102から払出制御基板45への電断信号の入力を省略することも可能である。また、電源基板251の機能を、メイン基板102が発揮できるようにしてもよい。この場合、電源部541をメイン基板102上に形成することなどが考えられる。
払出制御基板45において、演算装置であるCPU511は、そのCPU511により実行される制御プログラムや固定値データ等を記憶したROM512と、ワークメモリ等として使用されるRWM513とを備えている。
払出制御基板45のRWM513は、メイン基板102のRWM503と同様に、ぱちんこ遊技機10の電源の遮断後においても電源基板251からバックアップ電圧が供給されてデータを保持(バックアップ)できる構成となっており、RWM513には、各種のデータ等を一時的に記憶するためのメモリやエリアの他に、バックアップエリア513aが設けられている。
バックアップエリア513aは、停電などの発生により電源が遮断された場合において、電源遮断時のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアであり、電源投入時には、このバックアップエリア513aの情報に基づいてぱちんこ遊技機10の状態が電源遮断前の状態に復帰される。バックアップエリア513aへの書き込みはNMI割込処理によって電源遮断時に実行され、バックアップエリア513aに書き込まれた各値の復帰は電源投入時のメイン処理において実行される。
サブ基板104は、サブメイン基板301と、サブサブ基板302とにより構成されている。このうちサブメイン基板301は、CPU521と、ROM(プログラムROM)522と、ワークRWM523と、入力ポート527と、出力ポート528、バスライン(図示略)などを備えている。そして、入力ポート527の入力側にはメイン基板102の出力側が接続され、入力ポート527の出力側には、CPU521、ROM522、ワークRWM523、及び出力ポート528などが接続されている。また、サブメイン基板301には、音出力制御に用いられる音制御回路820が備えられている。
サブサブ基板302は、ビデオRWM(ビデオメモリ)524と、キャラクタROM525と、画像コントローラ526と、入力ポート530と、出力ポート529と、バスライン(図示略)などを備えている。そして、入力ポート527の入力側にはサブメイン基板301の出力側が接続され、入力ポート530の出力側には、ビデオRWM524、キャラクタROM525と、画像コントローラ526、及び出力ポート529が接続されている。
サブメイン基板301のCPU521は、メイン基板102から送信される図柄表示用の演出制御コマンド(指令)に基づいて演出図柄表示装置60の表示を制御する。ROM522は、CPU521により実行される各種の制御プログラムや固定値データを記憶するためのメモリであり、ワークRWM523は、CPU521による各種プログラムの実行時に使用されるワークデータやフラグを一時的に記憶するためのメモリである。
サブサブ基板302のビデオRWM524は、演出図柄表示装置60に表示される表示データを記憶するためのメモリであり、ビデオRWM524の内容を書き替えることにより、演出図柄表示装置60の表示内容が変更される。キャラクタROM525は、演出図柄表示装置60に表示される図柄などのキャラクタデータを記憶するためのメモリである。画像コントローラ526は、CPU521、ビデオRWM524、出力ポート529のそれぞれのタイミングを調整してデータの読み書きに介在すると共に、ビデオRWM524に記憶される表示データを、キャラクタROM525から所定のタイミングで読み出し、更に予め優先順位を定めたレイヤの順に図柄を重ねて演出図柄表示装置60に表示させるものである。
電源基板251は、ぱちんこ遊技機10の各部に電源を供給するための電源部541と、初期化スイッチ544を有する初期化スイッチ回路部543とを備えている。電源部541は、図示しない電源経路を通じて、メイン基板102や払出制御基板45等に対して各々に必要な動作電圧を供給する。その概要としては、電源部541は、外部より供給される所定の電圧を取り込み、各種スイッチ、モータ、ロジック回路等を駆動するための所定量の電圧をメイン基板102や払出制御基板45等に対して供給する。
初期化スイッチ回路部543は、電源投入時に例えば遊技場店員等によって初期化スイッチ544が押下された場合に、メイン基板102及び払出制御基板45へ、バックアップデータをクリアするためのRWM消去信号を出力する回路を備えている。メイン基板102及び払出制御基板45は、ぱちんこ遊技機10の電源投入時に、RWM消去信号を入力した場合に、それぞれのバックアップエリア503a,513aのデータをクリアする。
<メイン基板及びサブ基板の機能的構成>
次に、メイン基板102及びサブ基板104について機能的な側面から説明する。本実施例におけるメイン基板102は、図5に示すように、入球判定手段110、第1抽選手段126、第2抽選手段128、普図抽選手段136、保留制御手段116、メイン表示制御手段118、条件保持手段176、特別遊技制御手段120、特定遊技制御手段122、開閉制御手段124、事前情報通知手段157、コマンド送信手段332を備える。
一方、本実施例におけるサブ基板104は、前述のようにサブメイン基板301とサブサブ基板302とにより構成されており、このうちサブメイン基板301は、図6中に示すように、パターン記憶手段130、図柄態様決定手段131、演出決定手段132、演出表示制御手段134を備える。また、サブメイン基板301は、コマンド受信手段304、演出態様送信手段305を備える。さらに、サブ基板104には、スピーカ出力等の制御を行うための音制御手段312と、遊技効果ランプ出力等の制御を行う光制御手段313とが備えられている。
なお、メイン基板102に含まれる各機能ブロックは、いずれかがメイン基板102ではなくサブメイン基板301に搭載されるかたちで構成されてもよい。同様に、サブメイン基板301に含まれる各機能ブロックは、いずれかがサブメイン基板301ではなくメイン基板102に搭載されるかたちで構成されてもよい。
ただし、メイン基板102とサブメイン基板301の間におけるデータの送受信はメイン基板102からサブメイン基板301への一方向であるため、そのような一方向でのデータ送受信にて全体動作が実現されるよう各構成がメイン基板102とサブメイン基板301に配置される。このようにメイン基板102からサブメイン基板301へのデータ送信の一方向性が保たれるため、サブメイン基板301に含まれる構成からメイン基板102に含まれる構成へはデータを送信することができず、データ送信の要求もできない。したがって、メイン基板102で生成された情報は、メイン基板102がサブメイン基板301へ一方的に送信しない限りサブメイン基板301から参照することはできない。
また、サブサブ基板302は、サブメイン基板301と同じく図6中に示すように、演出態様受信手段308、演出実行手段309などを備えている。
<<メイン基板の主要な機能>>
入球判定手段110は、各入賞口への遊技球の入球を判定する。入球判定手段110は、第1始動入賞情報を受け取ると遊技球が第1始動入賞口62に入賞したと判断し、第2始動入賞情報を受け取ると遊技球が第2始動入賞口63に入賞したと判断する。入球判定手段110は、第1大入賞口入賞情報を受け取ると遊技球が第1大入賞口91に入賞したと判断し、第2大入賞口入賞情報を受け取ると遊技球が第2大入賞口92に入賞したと判断し、一般入賞情報を受け取ると遊技球が一般入賞口72に入賞したと判断する。入球判定手段110は、通過情報を受け取ると遊技球が作動口68を通過したと判断する。
第1始動入賞口62への入球に対応する第1の抽選を実行する第1抽選手段126は、第1抽選値取得手段112、第1当否判定手段113、第1パターン決定手段114、第1図柄決定手段320を含む。第2始動入賞口63への入球に対応する第2の抽選を実行する第2抽選手段128は、第2抽選値取得手段115、第2当否判定手段117、第2パターン決定手段119、第2図柄決定手段322を含む。第1の抽選の結果は、第1特別図柄表示装置70において第1特別図柄192の変動表示の形で示され、演出図柄表示装置60の表示領域194において装飾図柄190a〜190cの変動表示の形で示される。第2の抽選の結果は、第2特別図柄表示装置71において第2特別図柄193の変動表示の形で示され、演出図柄表示装置60の表示領域194において装飾図柄190a〜190cの変動表示の形で示される。
第1抽選手段126および第2抽選手段128は、図柄変動を開始するにあたり、その図柄変動に対応する抽選の結果を図柄変動の制御コマンドとともに演出決定手段132へ送信する。
第1抽選値取得手段112は、第1始動入賞口62への入球を契機に、第1の抽選のために乱数の値を第1当否抽選値として取得する。第2抽選値取得手段115は、第2始動入賞口63への入球を契機に、第2の抽選のために乱数の値を第2当否抽選値として取得する。たとえば、当否抽選のために第1当否抽選値および第2当否抽選値として取得する値は「0」から「65535」までの数値範囲から取得される。本実施例では、第1当否抽選値及び第2当否抽選値として取得する乱数は、ハードウエアで構成された1の生成装置を共用したハードウエア乱数(CPU501の内部で生成される内蔵乱数)とソフトウエアの乱数生成プログラム(割込毎に更新するカウンタ等)により抽出したソフトウエア乱数(ソフト乱数)とを演算(加算)した2段構成の乱数発生手段により生成されている。ちなみに、取得タイミングが全く同一であれば第1始動入賞口の入球に基づくハードウエア乱数の値と第2始動入賞口の入球に基づくハードウエア乱数の値とは同一の値が取得されるため一方の乱数取得系のみが故障して想定外の遊技確率とならないように設計されている。第1抽選値取得手段112および第2抽選値取得手段115が第1当否抽選値または第2当否抽選値として取得する値は、保留制御手段116により一時的に保留される。ただし、保留制御手段116により保留される所定の保留上限数を超えない範囲で第1当否抽選値と第2当否抽選値が保留される。
第1当否判定手段113は、第1当否抽選値に基づき、特別遊技へ移行するか否かを判定する当否判定を実行する。第2当否判定手段117は、第2当否抽選値に基づき、特別遊技へ移行するか否かを判定する当否判定を実行する。第1当否判定手段113および第2当否判定手段117は、当否判定で参照する当否判定テーブルを保持する。
<<当否抽選に係る置数>>
図8は、第1当否抽選値、或いは第2当否抽選値となる乱数値である特別図柄当り乱数(以下では「当否乱数」と称する)と抽選結果との対応を示している。本図の当否判定テーブルには、大当り、及び、はずれの判定結果と当否抽選値とが対応付けられており、対応付けられたそれぞれの範囲設定に応じて大当り当否確率が定まる。第1当否判定手段113および第2当否判定手段117(図5参照)は、本判定としての当否判定において本図の当否判定テーブルを参照する。第1当否判定手段113による第1の抽選と第2当否判定手段117による第2の抽選のいずれにおいても、通常時には当否抽選値が「63239〜63402」の範囲に該当したときのみ大当りとなる。確変時には大当りの範囲が拡大され、当否抽選値が「63239〜63402」の範囲に該当する場合だけでなく、「63403〜64878」の範囲に該当する場合にも大当りとなる。このように、大当りに該当する範囲は遊技状態に応じて変化する。
また、本実施例においては、当否抽選値が「0〜63238」、及び「64879〜65535」となった場合、大当り範囲に該当しないはずれとなる。すなわち、当否乱数値範囲の下限値である「0」から「63238」までの範囲と、上限値である「65535」に対応する抽選結果がはずれである。
このように、当否乱数の数値範囲に対して、抽選結果毎に連続する数値からなるグループが形成されている。そして、例えば第1の抽選においては、図8中に示すように、数値範囲「0〜63238」が第1のはずれグループ、「63239〜63402」が第1の大当りグループ、「63403〜64878」が第2の大当りグループ、「64879〜65535」が第2のはずれグループとなっている。
そして、第1のはずれに対応する乱数個数は63239個である。さらに、大当り1(第1の大当りグループ)に対応する乱数個数は164個であり、大当り2(第2の大当りグループ)に対応する乱数個数は1476個である。そして、第1の遊技における通常確率時の大当り確率は164/65536であり、高確率時の大当り確率は1640(=1476+164)/65536である。
また、上述のように、当否乱数は「0〜65535」の範囲の値をとり得るものであり、本実施例では、当否乱数は「0〜65535」の数値範囲の内蔵乱数(ハードウエア乱数)と、「0〜65520」の数値範囲の特別図柄当りソフト乱数(ソフトウエア乱数)との合算により得られている。内蔵乱数は、内蔵乱数テーブルから抽出された値である。内蔵乱数テーブルにおいては、所定範囲の数値(例えば「0〜65535」)が任意の順序で配列されており、CPU501に入力されるクロックを用いハードウエア(カウンタ回路)によりカウント値が1ずつ加算される毎に、内蔵乱数テーブル中に任意に配列された数値が、数値の大小関係と直接には関係なく、配列された順序に従って取得対象となる。そして、取得された内蔵乱数テーブル中の数値が、抽出されてソフト乱数との演算に用いられる。このような内蔵乱数は、ハードウエア的な構成を含む乱数生成装置による乱数であるともいえる。
一方、ソフトウエア乱数は、プログラミングされたカウンタにより割込み毎にカウント値を1ずつ加算して、昇順或いは降順に配列された数値を取得対象とするソフトウエア的な構成の乱数生成装置による乱数であるといえる。そして、本実施例では、特別図柄当りソフト乱数の乱数個数は、素数である「65521」となっており、加算元である内蔵乱数に対して加算されるソフトウエア乱数のほうが、内蔵乱数よりも、乱数値範囲(乱数の大きさ)が小さく設定されている。なお、当否乱数の生成にあたっては、内蔵乱数とソフトウエア乱数とを単純に合算することに限らず、例えば積算する、或いは、所定数の加減乗除のうちの何れかをしたうえで互いに合算する等、他の演算により行ってもよい。
なお、本実施例では、当否乱数を、ハードウエア乱数とソフトウエア乱数との組み合わせにより作成しているが、これに限定されず、何れか一方のみで当否乱数を作成することも可能である。
<<図柄抽選に係る置数>>
図5に示す第1図柄決定手段320および第2図柄決定手段322は、別途取得する前述の図柄抽選値(特別図柄当り図柄乱数。以下では「図柄乱数」ともいう。)と、上述の当否判定の結果とに基づいて、図柄の変動開始にあたってその停止図柄を決定する。第1図柄決定手段320および第2図柄決定手段322は、特別図柄の停止図柄を決定するために参照する複数の図柄判定テーブルを保持する。第1図柄決定手段320および第2図柄決定手段322は、当否判定結果に応じて異なる図柄判定テーブルを参照する。
図9は、図柄判定テーブルを模式的に示す図である。図9(a)は第1の抽選に係る当否判定結果が大当りであった場合に参照するテーブルであり、図9(b)は第2の抽選に係る当否判定結果が大当りであった場合に参照するテーブルであり、図9(c)は当否判定結果がはずれであった場合に参照するテーブルである。第1図柄決定手段320および第2図柄決定手段322は、図柄判定において本図の図柄判定テーブルを参照する。各図柄判定テーブルには、「0」〜「8」の数字で表される特別図柄と第1図柄抽選値または第2図柄抽選値との対応関係が定められている。特別図柄の種類はそれぞれ大当り、はずれの当否判定結果と対応付けられており、所定の奇数の数字が大当りに対応し、所定の偶数の数字がはずれに対応する。
図9(a)に示すように、第1の抽選においては、特別図柄「0」〜「8」のうち所定の奇数の数字である特別図柄「7」,「5」,「3」,「1」、及び、偶数の数字である「0」,「2」が、各々図柄抽選値「0〜124」,「125〜499」,「500〜714」,「715〜734」,「735〜799」,「800〜999」に対応付けられている。さらに、特別図柄「7」,「5」,「3」,「1」,「0」,「2」には、後述する16R確変と10R確変の各種大当りが各々対応付けられている。ここで、第1の抽選に係る特別図柄について、前述の第1特別図柄のほか、第1特図、特図1、特別図柄1、図柄1などと称することがある。
また、図9(b)に示すように、第2の抽選においては、特別図柄「7」,「3」,「0」、「2」が、各々図柄抽選値「0〜499」,「500〜669」,「670〜799」,「800〜999」に対応付けられている。さらに、特別図柄「7」,「3」,「0」、「2」には、後述する16R確変と4R確変の各種大当りが各々対応付けられている。ここで、第2の抽選に係る特別図柄について、前述の第2特別図柄のほか、第2特図、特図2、特別図柄2、図柄2などと称することがある。
以下に、上述の第1の抽選及び第2の抽選における大当りの種類について説明する。先ず、本実施例では、単位遊技を16回繰り返す大当り(以下、適宜「16R大当り」とも称する)や、単位遊技を10回繰り返す大当り(以下、適宜「10R大当り」とも称する)、単位遊技を4回繰り返す大当り(以下、適宜「4R大当り」とも称する)がある。これらの大当りは、特別遊技において、第1大入賞口91または第2大入賞口92は約30秒間開放されたとき、または第1大入賞口91または第2大入賞口92に9球以上の遊技球が落入したときに大入賞口を一旦閉鎖して1回の単位遊技を終了させるものがある。このような特別遊技は、遊技者に遊技球を獲得させることを目的とする所謂出球あり当りであるとともに、遊技者により多くの遊技球を獲得させようとするものである。また、本実施例では、前述の確変や時短等といった特定遊技状態は、全ての大当りについて発生する。そして、遊技者がより多くの出球を期待できる16R確変の当せん確率は、第1の抽選では12.5%、第2の抽選では50%であり、第1の抽選よりも第2の抽選で16R確変が発生し易くなっている。
続いて、図9(c)に示す通り、特別図柄「0」〜「8」のうち偶数の数字である特別図柄「4」「6」「8」がはずれに対応付けられている。特別図柄「4」は図柄抽選値の範囲「0〜332」に対応付けられ、特別図柄「6」は図柄抽選値の範囲「333〜665」に対応付けられ、特別図柄「8」は図柄抽選値の範囲「666〜999」に対応付けられる。
また、本実施例では当否抽選の結果が大当りである場合、前述の図柄乱数の数値範囲における上限値である「999」には、16R大当り以外の大当りとなる特別図柄(非16R大当り図柄)が割当てられている。また、これに限らず、下限値である「0」に非16R大当り図柄の抽選結果を割当ててもよく、更に上限値及び下限値の双方に非16R大当り図柄の抽選結果を割当ててもよい。
上述した図柄抽選は、ソフトウエア乱数により行われており、ソフトウエア乱数とハードウエア乱数の双方を用いる当否抽選に比べて、乱数の生成過程が簡略化されている。これは、当否抽選が不正行為の対象となり易いのに対し、図柄抽選は、当否抽選に比べれば不正行為の対象となり難いため、図柄抽選については、ハードウエア乱数を生成するのに必要な水晶発振器等の部品を用いずに済む構成としたためである。なお、これに限定されず、図柄乱数を、ハードウエア乱数のみで作成することや、ハードウエア乱数とソフトウエア乱数との組み合わせにより作成することなどが可能である。
また、前述のように、図柄乱数の数値範囲に対して、抽選結果毎に連続する数値からなるグループが形成されている。そして、例えば、第1の抽選において、大当りの場合は、図9(a)中に示すように、数値範囲「0〜124」、「125〜499」、「500〜714」、「715〜734」、「735〜799」、及び、「800〜999」が、それぞれ特別図柄「7」、「5」、「3」、「1」、「0」、及び、「2」に対応付けられた各グループとなっている。さらに、第2の抽選において、大当りの場合は、図9(b)中に示すように、数値範囲「0〜499」、「500〜669」、「670〜799」、及び、「800〜999」が、それぞれ特別図柄「7」、「3」、「0」、及び、「2」に対応付けられた各グループとなっている。さらに、はずれの場合には、図9(c)中に示すように、数値範囲「0〜332」、「333〜665」、「666〜999」が、それぞれ特別図柄「4」、「6」、及び、「8」に対応付けられた各グループとなっている。
<<変動パターン抽選に係る置数>>
図5に戻り、第1パターン決定手段114は、第1特別図柄表示装置70および演出図柄表示装置60に表示させる図柄変動の表示過程が定められた変動パターンを、別途取得する第1パターン抽選値に基づいて複数の変動パターンの中から決定する。第2パターン決定手段119は、第2特別図柄表示装置71および演出図柄表示装置60に表示させる図柄変動の表示過程が定められた変動パターンを、別途取得する第2パターン抽選値に基づいて複数の変動パターンの中から決定する。第1パターン決定手段114および第2パターン決定手段119は、それぞれ図柄変動を開始する際に変動パターンテーブルを参照してその図柄変動の変動パターンを決定する。第1パターン決定手段114および第2パターン決定手段119は、変動パターンを決定するために参照する変動パターン選択基準として複数の変動パターンテーブルをそれぞれ保持または共有する。
変動パターンには、特別図柄を変動表示させるときの変動開始から停止までの変動時間が定められており、その種類によって長短様々な変動時間をもつ。すなわち、各変動パターンには、その図柄変動の終了条件としてパターンごとに変動表示時間が定められており、その変動表示時間の経過時に特別図柄の変動が停止される。複数の変動パターンテーブルは、変動パターンと抽選値との対応関係としてそれぞれ変動時間の選択傾向(選択される変動パターンの変動表示時間の長短に係る傾向)が異なるように定められている。
複数の変動パターンテーブルには、他の変動パターンテーブルとは演出内容の傾向が異なる選択基準である限定頻度パターンテーブルが含まれる。この限定頻度パターンテーブルは、特定の傾向の変動演出パターン(限定頻度パターン演出)がサブメイン基板301側で選択されるようにする限定頻度パターンを備えた変動パターンテーブルである。そして、本実施例においては、特別遊技終了後の特定遊技に関係して、所定の限定頻度パターンテーブルが用いられる場合があるが、この点については後述する。
図10は、変動パターンテーブルを模式的に示す図である。第1パターン決定手段114または第2パターン決定手段119は、当否判定結果がはずれのときは図10(a)に示されるはずれ用の変動パターンを参照する。第1パターン決定手段114および第2パターン決定手段119は、変動パターン判定において本図の変動パターンテーブルを参照する。当否判定結果が16R大当りのときは図10(b)に示される16R大当り用の変動パターンテーブルを参照する。当否判定結果が4R大当りまたは10R大当りのときは図10(c)に示される4R大当りまたは10R大当り用の変動パターンテーブルを参照する。
図10(a)においては、パターン抽選値「0〜2599」には「スーパー1」というスーパーリーチが対応付けられ、パターン抽選値「2600〜4999」には「スーパー2」というスーパーリーチが対応付けられている。パターン抽選値「5000〜49999」には「ノーマル1」「ノーマル2」「リーチなし」のいずれかの変動パターンが対応付けられている。このように、当否判定結果がはずれの場合、スーパーリーチ、ノーマルリーチ、リーチなしのいずれも選択される可能性がある。なお、はずれ用の変動パターンテーブルにおいて、特に「リーチなし」の変動パターンを選択するとき、時短状態においては通常状態よりもさらに変動時間が概ね短い変動パターンが選択されるよう異なるテーブルを参照する。また、はずれ用の変動パターンテーブルは保留数ごとに参照すべき欄が異なるように規定されるが、通常状態を例とするその詳細は後述する図11において説明する。
図10(b)においては、パターン抽選値「0〜23519」には「スーパー1」のスーパーリーチが対応付けられ、パターン抽選値「23520〜47039」には「スーパー2」のスーパーリーチが対応付けられている。パターン抽選値「47040〜48999」には「ノーマル1」のリーチが対応付けられ、パターン抽選値「49000〜49999」には「ノーマル2」のリーチが対応付けられている。このように、当否判定結果が16R大当りの場合はリーチ付きの変動パターンが選択される。
図10(c)においては、パターン抽選値「0〜23999」には「スーパー3」というスーパーリーチが対応付けられ、パターン抽選値「24000〜49999」には「ノーマル3」というノーマルリーチが対応付けられている。このように当否判定結果が4R大当りまたは10R大当りの場合は「スーパー3」または「ノーマル3」がそれぞれ約50%の確率で選択される。
上述したパターン抽選は、図柄抽選と同様に、ソフトウエア乱数により行われており、ソフトウエア乱数とハードウエア乱数の双方を用いる当否抽選に比べて、乱数の生成過程が簡略化されている。これは、図柄抽選と同様に、当否抽選が不正行為の対象となり易いのに対し、パターン抽選は、当否抽選に比べれば不正行為の対象となり難いため、パターン抽選については、ハードウエア乱数を生成するのに必要な水晶発振器等の部品を用いずに済む構成としたためである。なお、これに限定されず、変動パターン抽選に係る乱数を、ハードウエア乱数のみで作成することや、ハードウエア乱数とソフトウエア乱数との組み合わせにより作成することなどが可能である。
また、前述のように、変動パターン抽選値(以下、「変動パターン乱数」ともいう)の数値範囲に対して、抽選結果毎に連続する数値からなるグループが形成されている。そして、はずれの場合には、図10(a)中に示すように、パターン抽選値「0〜2599」、「2600〜4999」、「5000〜49999」は、それぞれ「スーパー1」のグループ、「スーパー2」のグループ、「ノーマル1」、「ノーマル2」、「リーチなし」が対応付けられたグループとなっている。また、16R大当りの場合には、図10(b)に示すように、パターン抽選値「0〜23519」、「23520〜47039」、「47040〜48999」、及び、「49000〜49999」は、それぞれ「スーパー1」、「スーパー2」、「ノーマル1」、「ノーマル2」の各リーチが対応付けられたグループとなっている。さらに、4R大当りまたは10R大当りの場合は、図10(c)に示すように、パターン抽選値「0〜23999」、「24000〜49999」は、それぞれ「スーパー3」、「ノーマル3」の各リーチが対応付けられたグループとなっている。なお、上述の「スーパー1」、「スーパー2」、「ノーマル1」、「ノーマル2」、及び、「リーチなし」の他の変動パターンを追加してもよく、更にこれらの各変動パターンを、例えば異なる変動時間の変動パターンに細分化してもよい。
図11は、はずれ用の変動パターンテーブルを詳細に示す図である。本図の変動パターンテーブル210aにおいては、保留数ごとにそれぞれ変動パターンに対応付けられたパターン抽選値の範囲が異なる。具体的には、保留数が少ないほど変動時間が相対的に長い変動パターンに割当てられたパターン抽選値の範囲が広くされており、それら変動時間の長い変動パターンが選択される確率を高めている。そのため、第1保留手段144または第2保留手段146による保留数が少ないほど平均的な変動時間が長くなる。したがって、第1保留手段144または第2保留手段146による保留数が所定数、例えば1〜2個より少なくなった場合に、変動時間の長い変動パターンの選択確率が通常より高くなり、変動時間が比較的長くなりやすい。
第1欄212aには、第1保留手段144による第1の抽選の結果保留数または第2保留手段146による第2の抽選の結果保留数が1の場合のパターン抽選値範囲と変動パターンとの対応関係が示される。同様に、第2欄214aa、第3欄216a、第4欄218aaに、第1保留手段144による第1の抽選の結果保留数または第2保留手段146による第2の抽選の結果保留数がそれぞれ2、3、4の場合のパターン抽選値範囲と変動パターンとの対応関係が示される。すなわち、第1欄212a、第2欄214aa、第3欄216a、第4欄218aaが保留数ごとの変動パターンテーブルを示すと考えることができる。本図では、はずれのときに選択され得る複数の変動パターンを変動時間別に5種類に分類した例を説明するが、実際にはそれらの分類ごとに複数の変動演出パターンが用意されており、全体で数十種類の変動演出パターンがそれぞれの分類ごとの抽選値範囲に対応付けられていることに等しい。
第1範囲222には、抽選値が0から2599までのパターン抽選値に該当する場合の変動パターンとして、第1欄212a、第2欄214aa、第3欄216a、第4欄218aaのいずれにも「スーパー1」というスーパーリーチの変動パターンが対応付けられる。第2範囲224には、抽選値が2600から4999までのパターン抽選値に該当する場合の変動パターンとして、第1欄212a、第2欄214aa、第3欄216a、第4欄218aaのいずれにも「スーパー2」というスーパーリーチの変動パターンが対応付けられる。このように、抽選値が0から2599までのパターン抽選値と抽選値が2600から4999までのパターン抽選値の場合には、保留数にかかわらず同じ変動時間の変動パターンが選択される。
第3範囲226には、抽選値が5000から49999までのパターン抽選値に該当する場合の変動パターンとして、第1欄212a、第2欄214aa、第3欄216a、第4欄218aaにはそれぞれノーマルリーチである「ノーマル1」「ノーマル2」と「リーチなし」の3種類の変動パターンが対応付けられる。ただし、それぞれの変動パターンが対応付けられるパターン抽選値の範囲は保留数によって異なる。第1欄212aでは、「ノーマル1」「ノーマル2」「リーチなし」のそれぞれが対応付けられる抽選値範囲の大きさがそれぞれほぼ等しく、5000から49999をほぼ3等分した範囲が対応付けられている。これに対し、第2欄214aaでは、「ノーマル1」「ノーマル2」のそれぞれに対応付けられる抽選値範囲の大きさが「リーチなし」に対応付けられる抽選値範囲よりやや小さい。また、第3欄216aでは「ノーマル1」「ノーマル2」のそれぞれに対応付けられる抽選値範囲の大きさがさらに小さくなり、第4欄218aaにて「ノーマル1」「ノーマル2」のそれぞれに対応付けられる抽選値範囲の大きさはまたさらに小さくなっている。
「ノーマル1」「ノーマル2」の変動時間は「リーチなし」の変動時間より長くてもよく、また「リーチなし」のときは時短状態のように変動時間が短縮される場合もあるため、上記の第3範囲226の設定内容に応じて平均的な変動時間が異なることとなる。保留数が1から2、3、4と多くなるにつれて「ノーマル1」および「ノーマル2」のパターン抽選値範囲は小さくなり、逆に「リーチなしはずれ」のパターン抽選値範囲が大きくなる。したがって、保留数が多いほど平均的な変動時間は短くなり、逆に保留数が少ないほど平均的な変動時間は長くなる。このように保留数ごとにパターン抽選値範囲と変動パターンの対応関係が異なる変動パターンテーブルを用いることにより、保留数が少なくなったときに変動時間の長い変動パターンが選択されやすくなる制御を実現することができる。また、装飾図柄190の変動パターンとして、第1特別図柄192及び第2特別図柄193の各々の連続した複数回の変動に跨って適用されるような変動パターンを設定してもよい。
さらに、変動パターンの選択傾向に関して、確変中であるか否か、当否抽選の結果、第1の抽選に係る保留数、及び、第2の抽選に係る保留数との関係において、選択傾向を設定するようにしてもよい。このようにすることにより、例えば、確変中で且つ当否抽選の結果がはずれである場合には、第1特別図柄192については、第1の抽選に係る保留数及び第2の抽選に係る保留数に関わらず、変動時間が相対的に長いものとして規定された変動パターンが選択される確率を相対的に高く設定し、第2特別図柄193については、第1の抽選に係る保留数に関わらず、第2の抽選に係る保留数に応じて、変動時間が相対的に長いものとして規定された変動パターンが選択される確率を相対的に低く設定する、といったことが可能である。また、確変中で且つ当否抽選の結果が大当りである場合には、第1の抽選に係る保留数及び第2の抽選に係る保留数に関わらず、変動時間が相対的に短いものとして規定された変動パターンが選択される確率を相対的に低く設定する、といったことも可能である。
さらに、図10及び図11に一例を示したような変動パターンテーブルに関して、図示は省略するが、更に細分化された変動パターンテーブルが設けられている。これらの変動パターンテーブルの細分化は、前述のように、第1抽選及び第2抽選の何れであるか、大当りであるか否か、保留数が幾つであるか、といった属性のほか、大当りの種類が何れのものであるか、大当り抽選の確率状態が高確率であるか否か、時短中であるか否か、といった属性にも基づいて行われている。
また、前述した「スーパー1」、「スーパー2」、「ノーマル1」、「ノーマル2」、「リーチなし」といった変動パターンも、更に細分化されて複数の変動パターンにより構成されている。また、各変動パターンには、個別に名称の付与や選択確率の割り振りが行われている。そして、各変動パターンの名称は、使用される遊技状態(通常、リーチ、確変、時短、大当りなどの各状態)や、サブメイン基板301で選択される変動演出パターンとの関係を、開発者等が想起できるようなものとなっている。
ここで、一つの変動パターンテーブルに、互いに異なる名称で且つ同じ変動時間の変動パターンが属するようにしたり、或いは、互いに異なる変動パターンテーブルに、同じ名称で同じ変動時間の変動パターンが属するようにする、といったことも可能である。
そして、メイン基板102において遊技の状況に応じて選択された変動パターンが、前述の演出制御コマンドの一部としてサブメイン基板301に通知されることで、サブメイン基板301により、演出図柄表示装置60等を用いて実行される変動演出パターンが選択される。そして、多くの場合には、メイン基板102で選択される変動パターンに対して、サブ基板104側においては、同じ変動時間で内容の異なる複数の変動演出パターンが、選択対象として対応付けられている。このため、例えば、メイン基板102からサブメイン基板301に対して、或る特定の名称の変動パターンが指定された場合でも、サブメイン基板301で選択された変動演出パターンが異なり、異なる内容の演出が実行される、といったことがある。
<<普通図柄に係る抽選手段>>
図5に戻り、普図抽選手段136は、各作動口68a,68bにおける遊技球の通過の検出に基づき普図(普通図柄)抽選を実行するものであり、普図抽選値取得手段137、普図当否判定手段138、普図パターン決定手段139、普図図柄決定手段140を含む。普図抽選の結果は、普通図柄表示装置59(図3,図7(a)参照)においては、普通図柄の変動表示及び停止表示の形で示される。
普図抽選手段136は、普通図柄表示装置59に表示させる普通図柄の停止図柄を決定するために参照すべき図柄判定テーブルを保持する。その図柄判定テーブルには、抽選値と普通図柄との対応関係が定められており、普図抽選手段136は、普図抽選値取得手段137、普図当否判定手段138、普図パターン決定手段139、及び普図図柄決定手段140により、普通図柄の変動パターンや停止図柄を、図柄判定テーブルを参照して決定する。決定された停止図柄が所定の図柄となった場合に普通図柄が当りに該当したと判定され、その停止図柄にて普通図柄の変動表示が停止された後に開閉制御手段124が第2始動入賞口63の普通電動役物を当りの種類に対応した態様で所定時間拡開する。普通図柄の抽選値は、保留制御手段116により一時的に保留される。ただし、保留制御手段116により保留される所定の保留上限数を超えない場合にだけ抽選値が保留される。
本実施例においては、普通図柄に関しては、普図当否判定手段138に係る当否乱数、普図図柄決定手段140に係る図柄乱数、普図パターン決定手段139に係る変動パターン乱数の何れも、全てソフト乱数のみを用いて作成される。そして、それぞれの乱数範囲は、当否乱数が0〜282、図柄乱数が0〜262、変動パターン乱数が0〜232となっている。なお、これに限定されず、普通図柄に係る乱数を、ハードウエア乱数とすることや、ハードウエア乱数とソフトウエア乱数との組み合わせによるものとすることが可能である。
<<メイン基板におけるその他の主要な機能>>
保留制御手段116は、第1保留手段144、第2保留手段146、普図保留手段147を含む。第1保留手段144は、新たに第1の抽選が実行されるときにそれ以前の抽選に対応する図柄変動が表示されている場合、新たな第1の抽選に係る特図抽選値をその抽選値に対応する図柄の変動表示開始まで保留する。本実施例では第1の抽選に係る特図抽選値として4個を上限として乱数値を保持する。第2保留手段146は、新たに第2の抽選が実行されるときにそれ以前の抽選に対応する図柄変動が表示されている場合、新たな第2の抽選に係る特図抽選値をその抽選値に対応する図柄の変動表示開始まで保留する。本実施例では第2の抽選に係る特図抽選値として4個を上限として乱数値を保持する。普図保留手段147は、作動口68a,68bにおける遊技球の通過に伴い普図抽選手段136により取得された普通図柄用保留情報としての普図抽選値を、各々4個を上限とし、保留球として保持する。これらの保留数がそれぞれ第1特図保留ランプ20、第2特図保留ランプ21、普図保留ランプ22の点灯数または点滅数により表される。第1保留手段144および第2保留手段146による保留の数は演出図柄表示装置60の表示領域194にも表示される。
第2保留手段146に保留された抽選値は第1保留手段144に保留された抽選値より優先的に消化されて図柄変動が表示される。そのため、第1保留手段144に大当りの抽選値が保留されていても第2保留手段146に保留がある限りは第1保留手段144の大当り抽選値に対応する図柄変動は表示されない。したがって、第1保留手段144に大当りの保留があっても、さらに第2保留手段146へ大当りの保留が入るまで打ち続けることで、複数回の連続的な大当りを獲得できる可能性がある。
メイン表示制御手段118は、第1特図制御手段148、第2特図制御手段150、普図制御手段153を含む。第1特図制御手段148は、第1抽選手段126による第1の抽選の結果として決定された変動パターンにしたがい第1特別図柄192の変動を第1特別図柄表示装置70に表示させる。第2特図制御手段150は、第2抽選手段128による第2の抽選の結果として決定された変動パターンにしたがい第2特別図柄193の変動を第2特別図柄表示装置71に表示させる。
第1特図制御手段148は、第2保留手段146により第2の抽選に係る特図抽選値が保留されている場合は第1の抽選に対応する図柄変動表示の開始を留保する。一方、第2特図制御手段150は、第1保留手段144により第1の抽選に係る特図抽選値が保留されているか否かにかかわらず第2の抽選に対応する図柄変動表示を開始する。これにより、第1保留手段144と第2保留手段146の双方によって抽選値が保留されていた場合、第2保留手段146によって保留された抽選値が優先的に読み出されて図柄変動が表示される。そのような場合、第2保留手段146の保留数が0になるまでは第1保留手段144に保留された抽選値は読み出されずその図柄変動も開始しない。
第1特図制御手段148および第2特図制御手段150は、第1特別図柄192および第2特別図柄193の変動表示を開始するタイミングと停止するタイミングにて、変動開始コマンドと変動停止コマンドを前述の演出表示制御手段134へ送信する。変動開始コマンドを送信するとき、決定された当否判定結果、停止図柄、変動パターンのそれぞれを示す値と第1の抽選と第2の抽選のいずれであるかを示す値とを変動開始コマンドとともに演出表示制御手段134へ送信する。変動停止コマンドを送信するとき、あらためて停止図柄を示す値を変動停止コマンドとともに演出表示制御手段134へ送信する。これにより、メイン表示制御手段118および演出表示制御手段134による変動表示が同期し、連動が保たれる。普図制御手段153は、普図抽選手段136による抽選の結果を普通図柄の変動表示として普通図柄表示装置59に表示させる。
条件保持手段176は、大入賞口の開放を伴う単位遊技を複数回含む特別遊技へ移行するための条件として特別遊技作動条件を保持する。特別遊技作動条件は、第1の抽選または第2の抽選で特別遊技へ移行する旨を示す結果となり、その抽選に対応する図柄変動が停止したことを条件の内容とする。
特別遊技制御手段120は、第1抽選手段126による第1の抽選が特別遊技への移行を示す結果となった場合、第1特別図柄192が所定の大当り態様で停止されたときに特別遊技作動条件が成立したと判定し、第1大入賞口91を開放させることにより特別遊技を実行する。同様に、特別遊技制御手段120は、第2抽選手段128による第2の抽選が特別遊技への移行を示す結果となった場合、第2特別図柄193が所定の大当り態様で停止されたときに特別遊技作動条件が成立したと判定し、第2大入賞口92を開放させることにより特別遊技を実行する。
特定遊技制御手段122は、確変および時短の状態における通常遊技を制御する。特定遊技制御手段122は、大当りの種類に応じて、その特別遊技の終了後に時短状態へ移行させる。一方、特別遊技の終了後に確変状態へ移行させるのは、第1図柄決定手段320または第2図柄決定手段322により決定された図柄が確変への移行を伴う大当り図柄であった場合に限られる。時短状態は、第1特別図柄192および第2特別図柄193の変動表示回数の合計が特別遊技の終了時点から数えて所定の終了条件回数、たとえば100回に達するまで継続される。第1特別図柄192および第2特別図柄193の変動表示時間が概ね短くなるよう、第1パターン決定手段114および第2パターン決定手段119が変動時間の短い変動パターンを選択する。一方、確変状態は、全ての種類の大当りに付帯しており、特別遊技後の合計の変動表示回数が所定数(ここでは104回)に達するまで継続される。確変状態の間は第1当否判定手段113または第2当否判定手段117による当否判定結果が大当りとなる確率が高い値のまま維持される。
事前情報通知手段157は、第1始動入賞口62に入球があった際、その入球に対応する図柄変動表示が開始されるか否かにかかわらず、その入球に対する第1抽選手段126による抽選値を示す情報をサブメイン基板301へ送信する。また、第2始動入賞口63に入球があった際、その入球に対応する図柄変動表示が開始されるか否かにかかわらず、その入球に対する第2抽選手段128による抽選値を示す情報(保留抽選値)をサブメイン基板301へ送信する。保留抽選値には、第1始動入賞口62と第2始動入賞口63のいずれへの入球かを示す情報と、事前判定結果としての当否範囲・図柄範囲・パターン範囲とが含まれる。
なお、このような事前情報の通知により、例えば、確変継続回数の残り回数に応じて予告の演出を異ならせるといった演出が可能となる。より具体的には、確変継続回数の残り回数が少なくなるほど、頻繁に予告演出を実行する、保留制御手段116に保留された情報を事前判定し予告演出を連続的に実行する、といったことが考えられる。
開閉制御手段124は、第2始動入賞口63の普通電動役物や第1大入賞口91、第2大入賞口92の開閉を制御する。開閉制御手段124は、普通図柄が特定の態様で停止されると、普通電動役物ソレノイド76に開放指示を送り、第2始動入賞口63の普通電動役物を開放させる。開閉制御手段124は、特別遊技において、大入賞口ソレノイド80または大入賞口ソレノイド81に開放指示を送り、第1大入賞口91または第2大入賞口92を開放させる。また、開閉制御手段124は、通常特別遊技後の確変状態および時短状態においては第2始動入賞口63の拡開機構を通常状態に比べて長い時間拡開させる開放延長を実行する。
<<サブメイン基板の主要な機能>>
サブメイン基板301においては、メイン基板102からの各種コマンドをコマンド受信手段304が受信し、後述のように、図柄態様決定手段131、演出決定手段132、演出表示制御手段134などにより決定及び制御された演出態様に係る演出態様情報が、演出態様送信手段305を介して、サブサブ基板302へ送信される。
サブメイン基板301に備えられたパターン記憶手段130は、装飾図柄190a〜190cの変動において演出図柄表示装置60に表示させる演出的な画像内容とその表示過程が定められた複数の演出パターンを保持する。演出パターンには、装飾図柄190a〜190cの変動表示における変動開始から停止までの変動過程と演出過程が定められた複数の変動演出パターンと、装飾図柄の変動表示とは別に表示されて大当りへの期待度の高さを変動表示の停止前に予告的に示唆する複数の予告演出パターンとが含まれる。
演出決定手段132は、第1抽選手段126から受け取る第1の抽選の結果または第2抽選手段128から受け取る第2の抽選の結果に応じて、演出表示制御手段134によって演出図柄表示装置60へ表示させる演出内容を決定する。演出決定手段132は、第1パターン決定手段114または第2パターン決定手段119により決定された特別図柄の変動パターンに対応する複数の変動演出パターンデータの中からいずれかを選択してパターン記憶手段130から読み出す。演出決定手段132は、装飾図柄190a〜190cの停止図柄の組合せを第1抽選手段126または第2抽選手段128が決定する特別図柄の停止図柄や変動パターンに基づいて決定する。
装飾図柄190a〜190cの停止図柄は、3つの図柄の組合せとして形成され、たとえば第1抽選手段126または第2抽選手段128による当否判定結果が大当りの特別遊技への移行を示す場合には特定の組合せ、例えば「777」や「555」のように3つの図柄が揃った組合せが選択される。この場合、装飾図柄190a〜190cとして揃える数字には、第1特別図柄192や第2特別図柄193と同じ数字に係る装飾図柄を選択することが可能である。たとえば、第1特別図柄192または第2特別図柄193が「7」の場合は装飾図柄190a〜190cが「777」となる。あるいは、3つの図柄の少なくとも一つに当りであることを示す特定の図柄が含まれる図柄の組み合わせによっても、その大当りを示すようにしてもよい。そして、演出決定手段132は、装飾図柄190a〜190cの停止図柄組合せと装飾図柄の変動演出パターンデータを演出表示制御手段134へ送る。
装飾図柄の変動演出パターンデータには、装飾図柄の変動表示態様、すなわち装飾図柄の変動開始から変動停止までの変動過程と演出過程が定義される。変動演出パターンには、あと一つ図柄が揃えば大当りとなるリーチ状態を経てから当り態様またははずれ態様である停止図柄組合せを表示するリーチパターンと、リーチ状態を経ずにはずれ態様である停止図柄組合せを表示するリーチなしパターンが含まれる。特に、リーチ状態を経るときのパターンとしては、長短様々な変動時間をもつパターンが含まれ、前述のように、相対的に変動時間の短いリーチパターンを「ノーマルリーチ」と称し、変動時間の長いリーチパターンを「スーパーリーチ」と称する。各変動演出パターンには、その図柄変動の終了条件としてパターンごとに変動時間が定められており、その変動時間の経過時に図柄変動が停止される。演出決定手段132は、特別図柄の変動パターンに応じて、特別図柄と変動時間が等しい装飾図柄の変動演出パターンを選択する。
サブメイン基板301における上述のノーマルリーチ、スーパーリーチは、前述のメイン基板102における「ノーマル1」、「ノーマル2」、「スーパー1」、「スーパー2」といった変動パターンに対応したものである。また、サブメイン基板301における上述のリーチなしパターンは、同じくメイン基板102における「リーチなし」の変動パターンに対応したものである。そして、本実施例のぱちんこ遊技機10においては、メイン基板102の各変動パターンに対応して、サブメイン基板301の変動パターンが多数設けられており、メイン基板102で選択された変動パターンがサブメイン基板301にコマンドとして通知されると、サブメイン基板301では、指定された変動パターンに対して選択可能な複数の変動パターンのうちから、何れかの変動パターンが選択される。なお、メイン基板102における変動パターンが更に細分化されている場合には、サブメイン基板301における変動パターンも、メイン基板102における細分化に対応してより多数設けられる。また、サブメイン基板301における各種変動パターンは、前述の各種の予告演出パターンとの組合せで用いられることもある。
演出表示制御手段134は、第1演出制御手段168および第2演出制御手段170を含む。演出表示制御手段134は、遊技効果ランプ90の点灯および消灯や、スピーカ19からの音声出力などの音出力(サウンド)に係る演出処理のための制御を行う。
第1演出制御手段168および第2演出制御手段170は、第1抽選手段126による第1の抽選の結果または第2抽選手段128による第2の抽選の結果を、選択された変動演出パターンデータにしたがって装飾図柄190a〜190cとして演出図柄表示装置60の表示領域194に変動表示させる。
第1演出制御手段168は、第2保留手段146により第2の抽選の結果が保留されている場合は第1の抽選に対応する図柄変動表示の開始を留保する。第2演出制御手段170は、第1保留手段144により第1の抽選の結果が保留されているか否かにかかわらず第2の抽選に対応する図柄変動表示を開始する。これにより、第1保留手段144と第2保留手段146の双方によって抽選値が保留されていた場合は第2保留手段146により保留された抽選値が優先的に読み出されて装飾図柄の変動が表示される。そのような場合、第2保留手段146の保留数が0になるまでは第1保留手段144に保留された抽選値は読み出されずその装飾図柄の変動も開始しない。このように演出表示制御手段134は、装飾図柄190a〜190cの変動表示を含む図柄変動演出を演出図柄表示装置60に表示させる。
演出決定手段132は、事前情報通知手段157により通知された保留抽選結果を所定のバッファ領域に格納する。さらに、演出決定手段132は、メイン基板102の第1抽選手段126および第2抽選手段128から通知された本判定結果としての当該変動(その時に実行されている変動表示)に関する抽選結果と、事前情報通知手段157により予め通知されてバッファ領域に格納した保留抽選結果とにしたがって予告演出を表示させる。具体的には、将来時点において図柄変動が行われる保留抽選結果における大当りの発生有無を示唆するための前兆となる予告演出を表示させる。なお、演出決定手段132は、予告演出を表示させるか否かを決定するための所定の予告抽選を実行し、(例えば予め定められた確率にて)その予告抽選に当選したことを条件として、予告演出を表示させる。このように保留抽選結果中の事前判定結果に応じて設定される予告演出は「先読み演出」と呼ばれる。
また、演出決定手段132は、入賞情報に設定された第1保留手段144における保留数(以下、「第1の保留数」とも呼ぶ。)と第2保留手段146における保留数(以下、「第2の保留数」とも呼ぶ。)、および、図柄変動の実行状況(すなわち保留の消化状況)に応じて、現在時点での第1の保留数および第2の保留数を特定する。演出表示制御手段134は、演出決定手段132において特定された第1の保留数および第2の保留数を、演出図柄表示装置60の第1保留数表示部196および第2保留数表示部197に表示させる。また、演出決定手段132において保留数が新たに特定されると、第1保留数表示部196および第2保留数表示部197の表示を逐次更新する。
<<先読み演出の各種パターン>>
前述の先読み演出が実行される場合は、それ以前に出現している通常の演出パターンとは異なる演出パターン(視覚的なものや聴覚的なもの等を含む)が実行されるが、このような先読み演出に係る演出パターンの具体的態様や実行開始タイミングは一様ではなく、変化に富んでいる。
例えば、先読み演出の一例として、図7(b1),(b2)中に示す第1保留数表示部196や第2保留数表示部197での保留表示を用いるもの挙げることができる。さらに、保留表示において行われる通常と異なる演出パターン(以下では「保留変化」と称する)としては、保留球表示の色彩、形状、或いは模様等を変化させるものや、フラッシュを繰返すように保留表示を点滅させるもの、又はこれらの組合せによるものなどを挙げることができる。そして、これらのうち保留球表示の形態を変化させるものとしては、保留球表示の色彩を、例えば通常は緑色であるのに対し、所定のタイミングで赤色や金色に変化させるもの等を例示できる。さらに、保留球表示の形状を変化させるものとしては、通常の真円形状から演出のストーリーに関係する各種アイテムや人物の形態(いずれも動画を含む)に変化させるものや、保留変化前の形態に対して相似形を保ったまま拡大させるものなどを例示することができる。また、保留球表示の模様を変化させるものとしては、通常の模様なしの単色柄の表示から動物体表模様に変化させるものなどを例示することができる。さらに、保留表示を点滅させるものとしては、点滅の周期を異ならせるものなどを例示することができる。
さらに、このような保留変化のタイミングも多様であり、例示すれば、保留変化の対象となる始動入賞(遊技球の検出。以下では「対象入賞」と称する場合がある。)を基準としたものや、他の始動入賞(同様に以下では「他入賞」と称する場合がある)を基準としたものを挙げることができる。さらに、他入賞を基準とする保留変化のタイミングには、対象入賞よりも先に発生した始動入賞(以下では「先行入賞」と称する場合がある)に係る変動表示(以下では「先行変動」と称する場合がある)の状態を基準とするものや、対象入賞よりも後に発生した始動入賞(以下では「後行入賞」と称する場合がある)を基準としたものなどがある。
これらのうち、対象入賞を基準とする保留変化としては、サブ基板104に備えられた機能的手段である演出表示制御手段134が、対象入賞に係る事前判定結果に基づき、対象入賞に対応した保留表示の開始当初から保留変化を実行する態様がある。また、対象入賞に対応した保留表示を当初は通常の保留表示パターンで開始し、所定時間が経過すると保留変化させるものなども考えられる。
また、先行入賞や先行変動の状態を基準とした保留変化としては、以下のようなものを挙げることができる。例えば、対象入賞に係る保留表示は通常の表示パターンで開始され、この後、対象入賞が発生した際に実行されていた変動表示が終了する。そして、それまで保留されていた先行入賞に係る始動入賞情報のうち、最も早く保留記憶されたもの(1個目の保留記憶であったもの)に係る変動表示が開始される。そして、対象入賞に係る保留表示が一つ下位の保留表示(例えば、4個目から3個目の保留表示に移行されたもの)にシフトされた際に、通常の保留表示パターンから特殊な表示パターンに変化する。
また、この先行入賞や先行変動の状態を基準とした保留変化として、先行変動を利用し、複数の変動表示(複数の始動入賞情報)に跨り、連続して実行されるものを挙げることができる。そして、この連続した保留変化の演出パターンとしては、以下のようなものを例示できる。例えば、図7(b1),(b2)中の第1保留数表示部196における第4番目の位置(4個目の位置(左端の位置))で対象入賞に係る保留表示が行われる際に、他の位置(例えば第1〜第3の位置)にある通常の保留表示の色彩(例えば緑色)とは異なる色彩(例えば赤色)で表示する。そして、保留の消化が進み、対象入賞に係る保留表示の位置が第3番目の位置、第2番目の位置、第1番目の位置へと右側(第2保留数表示部197の場合は左側)へシフトする度に、保留表示の色彩が、オレンジ色、金色、虹色と順次変化する。
また、前述の後行入賞を基準とした保留変化として、以下のようなものを例示できる。例えば、始動入賞が検出される度に、前述の演出決定手段が、対象入賞に係る保留変化を行うか否かの抽選(保留変化実行抽選)を行い、抽選結果が保留変化を行う旨のものであった場合に、対象入賞に係る保留表示がどの位置に表示されるかに関係なく、その際に行われる対象入賞の保留表示を保留変化させる。また、これに限らず、保留変化実行抽選の結果が保留変化を行う旨のものであった場合に、対象入賞に係る保留表示が所定の位置(例えば第2番目の位置)にシフトされた際に、それまでとは異なる態様に保留変化させることも考えられる。なお、保留変化実行抽選を、毎回の始動入賞について行うことに限らず、例えば所定の条件が成立した場合(例えば、特定の演出モード中や、所定の演出が実行されている間、など)に限って行うようにしてもよい。
なお、本実施例では、先読み演出に係る演出パターンとして保留表示を例に挙げているが、本発明はこれに限定されるものではなく、例えば、演出パターンの停止のための制御にも適用可能である。そして、演出パターンの停止のための制御の態様としては、例えば、複数回の変動表示に亘り連続性のある演出(以下では「連続予告」と称する。擬似的なものを含む。)が実行された場合に、当該連続予告を終了するか否かの抽選を、先読みした遊技状態の抽選結果に基づいて決定することが挙げられる。
以上例示したような先読み演出に関して、特別図柄の図柄群の種別を伝える構成を採用することが可能である。すなわち、前述の第1特別図柄192(或いは第2特別図柄193)として、例えば各々256種類等の多数の図柄を設定し、第1特別図柄表示装置70(或いは第2特別図柄表示装置71)を構成するLEDの点灯パターンの違いによって多数の図柄を区別できるようにする。そして、これらの多数の図柄を、当否抽選の結果に紐付けた態様で、例えば16種類に分類し、各々が複数の図柄群からなる複数のグループを形成する。さらに、各図柄群に対して、サブメイン基板301で識別可能な符号を割当て、メイン基板102からサブメイン基板301へ、乱数抽選により取得された数値が属する図柄群の符号を、演出パターンを指定するコマンドに含めて送信する。そして、サブメイン基板301は、メイン基板102からのコマンドに基づき、何れの図柄群に係るコマンドであるかを判定し、判定結果に基づき、当否抽選の結果に関連付けて先読み演出を実行する。
なお、先読み演出に係るコマンドは、当否、当り図柄、変動パターン、保留球数の4つの情報を1セットとして含むよう、構成することが可能である。さらに、当否乱数、図柄乱数、変動パターン乱数は、前述のようにグループ分けされているので、グループを示す情報をコマンドに含めて通信を行うことが可能である。なお、「グループ分け」の用語を「ブロック分け」、「群分け」等の用語に置き換えても、技術上の意義が同様のものとすることができる。
また、状況に応じて先読みコマンドの送信条件を変更設定し、送信条件が設定された状況においては、送信条件に応じたコマンド送信を行うという構成も採用が可能である。例えば、大当り中(特別遊技中)は、第2の遊技に係る第2特別図柄193のみを有効とし、第2特別図柄193に係るコマンドのみを送信することが考えられる。また、第1の遊技及び第2の遊技の何れに係る抽選であるのかといった点や、通常の遊技状態であるのか又は確変(或いは時短や電チューサポート)などがある特定遊技状態であるのかといった点、などに応じ、使用するテーブル類(例えば、当否判定テーブル、図柄判定テーブル、変動パターンテーブル、など)を切換えることも可能である。
なお、保留表示については、上述のような先読み演出を行う遊技状態に限らず、他の種々の遊技状態に応じた態様で行うことが可能である。例えば、大当り抽選の確率が通常確率の場合と高確率の場合で互いの保留表示の態様を異ならせること、普通電動役物の開放延長を行っている場合(開放延長機能作動中の場合)と開放延長を行っていない場合(開放延長機能未作動の場合)で互いの保留表示の態様を異ならせること、などが可能である。保留表示の具体的な態様としては、第1保留数表示部196(または第2保留数表示部197)の形状を、真円から特定のキャラクタやアイテムの形状に変える、といったことを挙げることができる。なお、遊技状態に応じ異ならせた保留表示態様での演出の開始や終了のタイミングを、対応する遊技状態が発生したタイミングに対し遅延させたり、早めたりすることも可能である。
<メイン基板からサブメイン基板へ送信される各種コマンド>
次に、メイン基板102からサブメイン基板301へ送信される各種コマンドについて説明する。先ず、コマンドの送信タイミングとしては、初期画面表示中、客待ちデモ(待機デモ)中、特別図柄の図柄変動開始時、特別図柄の図柄確定時、特別図柄の図柄確定中、大当り開始デモ時、大当り中大入賞口開放時、大当り中大入賞口閉鎖時、当り終了デモ時、大当り終了デモ終了時などがある。このうち初期画面表示中は、ぱちんこ遊技機10の電源投入後、客待ちデモが開始されて定常状態に入るまでの期間である。また、始動入賞時、電断復帰時、及び、エラー検出時は、何れの場合であってもコマンド送信が行われる。さらに、RWMクリア時にもコマンド送信が実行される。
これらのうち、RWMクリア時のコマンドとしては、演出表示器初期化、演出LED初期化、各種エラーのコマンドがある。演出表示器初期化コマンドは、演出図柄表示装置60に所定のはずれ図柄を表示するためのものである。演出LED初期化コマンドは、通信が正常である場合に遊技効果ランプ90の一部を点灯させるものである。各種エラーコマンドは、エラーの状態に合わせた演出表示等を行うためのものである。
客待ちデモのコマンドとしては、客待ちデモコマンドがある。この客待ちデモコマンドは、演出図柄表示装置60や遊技効果ランプ90を客待ちデモ用に設定し、音声を消去するためのものである。
特別図柄の図柄変動開始時のコマンドとしては、図柄1記憶数、図柄2記憶数、通信検査1、通信検査2、演出回数A〜Z、演出選択状態0〜2、変動付加情報、図柄1演出パターン、図柄2演出パターン、図柄1キャラクタ演出、図柄2キャラクタ演出のコマンドがある。図柄1記憶数コマンドは、第1特別図柄192の保留記憶数を示すものであり、図柄2記憶数コマンドは、第2特別図柄193の保留記憶数を示すものである。通信検査1コマンド及び通信検査2コマンドは、正常な通信がなされているか否かの確認のためのものである。演出回数A〜Zの各種コマンドは、前述の限定頻度テーブルにしたがった演出に係る回数を示すものであり、演出選択状態0〜2の各種コマンドは、限定頻度テーブルにしたがった演出の種類を示すものである。変動付加情報コマンドは、変動時間を加減するための情報を示すものである。図柄1演出パターンコマンドは、第1特別図柄192の変動パターンに対応したコマンドを送信するためのものであり、図柄2演出パターンコマンドは、第2特別図柄193の変動パターンに対応したコマンドを送信するためのものである。図柄1キャラクタ演出コマンドは、第1特別図柄192の図柄に対応したコマンドを送信するためのものであり、図柄2キャラクタ演出コマンドは、第2特別図柄193の図柄に対応したコマンドを送信するためのものである。
なお、本実施例では、特別図柄の図柄変動開始時のコマンドに、前述の普通図柄に係る抽選演出に関するもの(抽選演出コマンド)が含まれる。そして、この抽選演出に関するコマンドは、上述の変動付加情報コマンドに含まれるコマンドとして設けることが可能である。ここで、抽選演出に関するコマンドの送信タイミングを、特別図柄の図柄変動開始時ではなく、他のタイミングとしてもよい。そして、抽選演出に関するコマンドの他の送信タイミングとしては、特別図柄の変動中を例示でき、特別図柄の変動中に、長開放の当せんの都度、送信する、といったことが可能である。また、長開放に当せんしていることが判定されれば、特別図柄の変動開始時及び特別図柄の変動中の何れであっても抽選演出コマンドの送信を行える、といった制御態様も採用が可能である。
特別図柄の図柄確定時のコマンドとしては、図柄1演出パターン停止、図柄2演出パターン停止のコマンドがある。図柄1演出パターン停止コマンド、及び、図柄2演出パターン停止コマンドは、それぞれ、第1特別図柄192や第2特別図柄193に基づく装飾図柄190a〜190cを停止させるためのものである。
特別図柄の図柄確定中のコマンドとしては、変動時間短縮回数0(低確率時)、変動時間短縮回数A〜Z(低確率時)、変動時間短縮回数0(高確率時)、確率変動中(所定変動回数まで)のコマンドがある。これらは、その時の遊技状態に関するコマンドを送信するためのものであり、演出モード表示や時短回数表示などに使用される。
大当り開始デモ時のコマンドとしては、図柄1大当り開始デモ、図柄2大当り開始デモ、発射位置指定のコマンドがある。図柄1大当り開始デモコマンド、及び、図柄2大当り開始デモコマンドは、第1特別図柄192や第2特別図柄193の大当り図柄に基づいた開始デモを表示させるためのものである。発射位置指定コマンドは、所謂左打ちや右打ちにより、遊技者に、第1大入賞口91及び第2大入賞口92の間で遊技球の打ち分けを行わせる場合に発射位置を報知するためのものである。
発射位置指定コマンドは、大当り開始デモ時と同様に、所謂左打ちや右打ちにより、遊技者に、第1大入賞口91及び第2大入賞口92の間で遊技球の打ち分けを行わせる場合に発射位置を報知するためのものである。
大当り中大入賞口開放時のコマンドとしては、図柄1大当り中デモ1〜16、図柄2大当り中デモ1〜16のコマンドがある。これらは、第1特別図柄192や第2特別図柄193の大当り図柄及びラウンド数に基づいた演出を表示させるためのものである。
大当り中大入賞口閉鎖時のコマンドとしては、大入賞口閉鎖演出コマンドがある。これは、大入賞口閉鎖演出を表示させるためのものである。
当り終了デモ時のコマンドとしては、図柄1当り終了デモ、図柄2当り終了デモのコマンドがある。これらは、第1特別図柄192や第2特別図柄193の当り図柄に基づいた当り終了デモ演出を表示させるためのものである。
大当り終了デモ終了時のコマンドとしては、発射位置指定コマンドがある。これは、第1始動入賞口62、第2始動入賞口63、第1大入賞口91、及び、第2大入賞口92の位置関係などの理由によって、発射位置の打ち分けが必要な場合に、発射位置を報知するためのものである。
始動入賞時のコマンドとしては、当り予告(当り予告演出)、図柄予告(当り図柄予告演出)、変動予告(パターン予告演出)、図柄1記憶数、図柄2記憶数のコマンドがある。当り予告、図柄予告、変動予告の各コマンドは、事前情報通知手段157による前述の先読み演出に係るコマンド(先読みコマンド)である。そして、当り予告コマンドは、当否乱数の乱数値範囲を送信するためものであり、抽選確率に応じた当否の情報などを含んでいる。図柄予告コマンドは、図柄乱数の乱数値範囲を送信するためのものであり、当りの種類に係る情報などを含んでいる。さらに、変動予告コマンドは、変動パターンの乱数範囲を送信するためのものであり、変動パターンのグループの種別(リーチなし、ノーマルリーチ、又は、スーパーリーチなど)の指定に利用可能である。図柄1記憶数、図柄2記憶数のコマンドは、第1特別図柄192や第2特別図柄193の保留記憶数を伝えるためのものである。そして、本実施例では、当否抽選の結果、先読み演出の有無や期間などの情報は、当り予告、図柄予告、変動予告の各コマンドによって、サブメイン基板301に伝えられるようになっている。
電断復帰時のコマンドとしては、通信検査1、通信検査2、電断復帰用遊技状態A〜E、演出回数A〜Z、演出選択状態0〜2、図柄1キャラクタ演出、図柄2キャラクタ演出、電断復帰当り状態、電断復帰時特別図柄1状態、電断復帰時特別図柄2状態、発射位置指定、エラーa〜d、図柄1記憶数、図柄2記憶数のコマンドがある。
通信検査1、通信検査2のコマンドは、正常な通信がなされているか否かの確認のためのものである。電断復帰用遊技状態A〜Eのコマンドは、電断時の遊技状態に応じて異なるコマンドを送信するためのものである。演出回数A〜Zのコマンドは、前述の限定頻度テーブルにしたがった演出に係る回数を示すものであり、演出選択状態0〜2のコマンドは、限定頻度テーブルにしたがった演出の種類を示すものである。図柄1キャラクタ演出、図柄2キャラクタ演出コマンドは、第1特別図柄192や第2特別図柄193の図柄に対応したコマンドを送信するためのものである。
電断復帰当り状態コマンドは、当り中か否かに応じて異なるコマンドを送信するためのものである。電断復帰時特別図柄1状態、電断復帰時特別図柄2状態のコマンドは、第1特別図柄192や第2特別図柄193の、待機中・変動中・当たり中などの状態に応じたコマンドを送信するためのものである。発射位置指定コマンドは、前述のように、状況に応じた適切な発射位置を指定するためのものである。エラーa〜dは、エラーの有無及び種類を送信するためのものである。図柄1記憶数、図柄2記憶数のコマンドは、第1特別図柄192や第2特別図柄193の保留記憶数を伝えるためのものである。
<メイン基板の主要な制御処理>
次に、上述の構成のぱちんこ遊技機10のメイン基板102における主要な制御処理について、図12〜図17に基づいて説明する。ここで説明するぱちんこ遊技機10の主要な制御処理は、ぱちんこ遊技機10の電源投入に伴いるメイン基板102に搭載されているCPU501(メインCPU)が実行する初期設定や、メイン基板102において実行される制御開始処理と電源断処理(図12及び図13参照)、遊技進行割込み処理(図14参照)、及び電源断確認情報設定の処理である。
<<システムリセットの動作>>
先ず、本実施例のぱちんこ遊技機10においては、後述する割込み処理時間監視手段からのタイムアウト信号や、走行監視手段(走行監視回路)からの走行監視信号が発生したときにユーザリセットを発生させるか、システムリセットを発生させるかを予め設定しておくことが可能である。上述の走行監視回路は、遊技制御のためのユーザプログラムが指定エリア内で正しく実行されているか否かを監視する機能を有するものである。
上述のシステムリセットを発生させることが設定されている場合には、ぱちんこ遊技機10に対して電源が投入され電力供給が開始されると、CPU501は、プログラム管理エリア(後述する)の設定内容に従って、内部リセット動作の設定や各種乱数回路の設定など、CPU501の各種設定を行う。具体的には、プログラム管理エリアのリセット設定の設定内容に従った内部リセットの動作の設定や、プログラム管理エリアの16ビット乱数初期設定1、16ビット乱数初期設定2、16ビット乱数初期設定3、8ビット乱数初期設定1、8ビット乱数初期設定2の設定内容に従った、16ビット乱数用及び8ビット乱数用の各種設定などを行う。
この後、CPU501は、セキュリティモード(後述する)に移行し、セキュリティチェックを実行する。そして、CPU501は、セキュリティチェックを終了すると、ユーザモードに移行し、後述するようにユーザプログラムの実行を開始する。
次いで、ユーザプログラムが実行されているときに(具体的には、後述する制御開始処理内の循環処理や遊技進行割込み処理の実行中に)、後述する割込み処理時間監視手段からのタイムアウト信号や、走行監視手段からの走行監視信号が発生すると、ここでは内部リセット動作の設定としてシステムリセットが設定されていることから、タイムアウト信号や走行監視信号の発生に基づいてシステムリセットが発生する。そして、前述のように、CPU501は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、各種設定を行う。そして、CPU501は、前述のセキュリティモードに移行し、セキュリティチェックを実行する。さらに、CPU501は、ユーザモードに移行し、前述のユーザプログラムの実行を開始する。
一方、後述する割込み処理時間監視手段からのタイムアウト信号や、走行監視手段からの走行監視信号が発生したときにユーザリセットを発生させるように設定した場合には、ぱちんこ遊技機10に対して電源が投入され電力供給が開始されてからの処理は、上述のシステムリセットを発生させる場合と同様となっている。しかし、その後に、前述のユーザプログラムが実行されているときに、タイムアウト信号や走行監視信号が発生すると、内部リセット動作の設定としてユーザリセットが設定されていることから、タイムアウト信号や走行監視信号の発生にもとづいてユーザリセットが発生する。そして、ユーザリセットが発生した場合には、CPU501においては、CPU501の内部回路のうち、所定の回路の初期化が行われる。ここで、所定の回路としては、CPUコア、タイマ回路、フリーランカウンタ回路、演算回路、パラレル入力ポート、パラレル出力ポート、シリアル通信回路、及び、割り込みコントローラなどがある。そして、そのままユーザプログラムの先頭のアドレスに戻り、ユーザプログラムの実行が先頭のアドレスから再び開始される。具体的には、制御開始処理(後述する)を再び開始する。
続いて、システムリセットの具体的動作について説明する。本実施例においては、CPU501がシステムリセットを受け付けると、前述のようにCPUコアを含むすべての内部回路が初期化され、所定の端子に係る信号(ここではPRG端子に係る出力信号)がL(ロウ)レベルであれば、セキュリティモードに移行する。PRG端子がH(ハイ)レベルであれば、プログラムモード(PROMモード)に移行する。より具体的には、PRG端子からの出力信号がLレベルで固定された信号であればセキュリティモードに移行し、Hレベルで固定された信号であればプログラムモードに移行する。
本実施例のCPU501における基本回路の動作モードには、上述のセキュリティモード、ユーザモード、PROMモードの3種類がある。これらのうち、セキュリティモードは、書き換え不能なブートプログラムに従って、内蔵ROMのプログラムデータエリアに記憶されたユーザプログラムが所定の条件を満たすか否かを確認するセキュリティチェックを行った後に、内蔵ROMのプログラム管理エリアに記憶された各種設定を用いて、ユーザプログラムを実行するための環境設定を行うモードである。
上述のセキュリティチェックにおいてユーザプログラムが満たすべき所定の条件としては、例えば、ユーザプログラムを基に計算された認証コードが、記憶している認証コードと一致したか否か、といったものを例示できる。また、認証コードとしては、ユーザプログラムに基づいて決定され、ユーザプログラムと共に記憶されるようなものを例示できる。そして、このセキュリティチェックで異常が発見されなかった場合には、自動的にユーザモードに移行し、リセットアドレス(ここでは0000H)よりユーザプログラムの実行が開始される。一方、セキュリティチェックで異常が発見された場合には、基本回路の動作を停止する。
上述のユーザモードは、内蔵ROMのプログラムデータエリアにユーザが記憶したユーザプログラムを実行するモードである。また、前述のPROMモードは、CPU501の外部から内蔵ROMのプログラムデータエリアにユーザプログラムを書き込むためのモードである。
<<プログラム管理エリア>>
また、図示は省略するが、CPU501の動作のために規定されているアドレスマップには、プログラムコード/データエリアとプログラム管理エリアとを含んでおり、これらのうちプログラムコード/データエリアは、ユーザプログラムやデータを格納するエリアである。また、プログラム管理エリアは、CPU501がシステムリセット時に内部リセット動作の設定など各種設定を行うために必要な情報を格納する記憶領域である。また、アドレスマップの所定エリアは、内蔵レジスタに割り当てられた内蔵レジスタエリアとなっており、この内蔵レジスタエリアには、エリアには、割込み処理時間監視手段である所定のタイマのためのスタートレジスタ、当該タイマのためのクリアレジスタ、内部情報レジスタや、乱数回路で用いる各種レジスタなどが含まれている。
さらに、上述のプログラム管理エリアには、ヘッダ、プログラムコードエンドアドレス、プログラムコードスタートアドレス2、プログラムコードエンドアドレス2、リセット設定、16ビット乱数初期設定1、16ビット乱数初期設定2、16ビット乱数初期設定3、8ビット乱数初期設定1、8ビット乱数初期設定2、セキュリティ時間設定、乱数クロック監視設定などが含まれている。
<<セキュリティモードの延長機能>>
本実施例におけるCPU501の特徴的な機能の一つとして、セキュリティモードの延長機能を挙げることができる。このセキュリティモードの延長機能は、前述のシステムリセット後に発生するセキュリティモードの時間を、「固定延長」及び「ランダム延長」の2つの方法により延長するものである。そして、セキュリティモードの延長機能においては、2つの方法で設定された時間の加算時間が、延長される時間となる。
すなわち、このセキュリティモードにおいて、図18中の最上段に示すようにリセット入力があり、図中の最下段に示す動作モードとして、予め決まった規定のセキュリティモード時間が経過して(一定のクロック数(−276.5SCLK)がカウントされて)セキュリティチェックが終了した後には、一定の期間の経過を待つ固定延長時間が設けられている。そして、この固定延長時間が終了したしたときに、図中の中段に示すように、Hレベルのリセット出力を出力するが、このリセット出力後には、動作モードとして、ランダムな期間の経過を待つランダム延長時間が設けられている。なお、本実施例では、厳密には、このランダム延長時間が終了した後、更に予め決まった所定時間(ここでは276.5×CPU501の内部システムクロック(SCLK))が経過すると、セキュリティモードが終了し、前述のユーザモードに移行するようになっている。このようなセキュリティモード時間中に、前述のセキュリティチェックが行われるため、セキュリティチェックの時間を適正に確保できる。さらに、上述の固定延長時間、及び、ランダム延長時間は、前述のプログラム管理エリアにおいて設定されているものである。以下に、「固定延長」及び「ランダム延長」について、より具体的に説明する。
<<<セキュリティモードの固定延長>>>
前述の固定延長においては、予め規定されているセキュリティモード時間を、設定した時間分延長することができる。延長する時間は、プログラム管理エリアのセキュリティ時間設定における下位6ビット(ビット番号0〜5)を用いて設定する。そして、下位5ビット(ビット番号0〜4)の値を「00001」、「01000」、「10000」、「11111」の4種類とし、最下位ビットを「0」又は「1」とすることで、システムクロック周波数(或いはシステムクロック周期)を変数とする8つの固定延長時間を表すことを例示できる。
より具体的には、下位5ビット(ビット番号0〜4)の値を「00001」とした場合に、ビット番号5の値が「0」であれば、設定内容を2^22×内部システムクロック周期×1とし、ビット番号5の値が「1」であれば、設定内容を2^24×内部システムクロック周期×1とすることを例示できる。そして、ビット番号5の値が「0」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約0.42secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約0.26secとなる。また、ビット番号5の値が「1」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約1.68secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約1.05secとなる。
さらに、下位5ビット(ビット番号0〜4)の値を「01000」とした場合に、ビット番号5の値が「0」であれば、設定内容を2^22×内部システムクロック周期×8とし、ビット番号5の値が「1」であれば、設定内容を2^24×内部システムクロック周期×8とすることを例示できる。そして、ビット番号5の値が「0」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約3.36secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約2.10secとなる。また、ビット番号5の値が「1」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約13.42secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約8.39secとなる。
また、下位5ビット(ビット番号0〜4)の値を「10000」とした場合に、ビット番号5の値が「0」であれば、設定内容を2^22×内部システムクロック周期×16とし、ビット番号5の値が「1」であれば、設定内容を2^24×内部システムクロック周期×16とすることを例示できる。そして、ビット番号5の値が「0」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約6.71secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約4.19secとなる。また、ビット番号5の値が「1」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約26.84secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約16.78secとなる。
さらに、下位5ビット(ビット番号0〜4)の値を「11111」とした場合に、ビット番号5の値が「0」であれば、設定内容を2^22×内部システムクロック周期×31とし、ビット番号5の値が「1」であれば、設定内容を2^24×内部システムクロック周期×31とすることを例示できる。そして、ビット番号5の値が「0」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約13.00secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約8.13secとなる。また、ビット番号5の値が「1」の場合、内部システムクロック周波数が10.0MHzであれば、固定延長時間は約52.01secとなり、内部システムクロック周波数が16.0MHzであれば、固定延長時間は約32.51secとなる。
<<<セキュリティモードのランダム延長>>>
前述のランダム延長においては、予め規定されているセキュリティモード時間を、ランダムな時間分延長することができる。延長する時間は、プログラム管理エリアのセキュリティ時間設定の7〜6ビットを用いて設定する。そして、7〜6ビットの値「00」には延長しないことの割り当てを行い、値「01」、「10」、「11」により、システムクロック周波数(或いはシステムクロック周期)を変数とする3種類の設定内容を表すことを例示できる。
より具体的には、7〜6ビットの値を「01」とした場合に、設定内容を0〜2^5×255とすることで、内部システムクロック周波数が10.0MHzであれば、ランダム延長時間は0〜0.816msとなり、内部システムクロック周波数が16.0MHzであれば、ランダム延長時間は0〜0.51msとなる。また、7〜6ビットの値を「10」とした場合に、設定内容を0〜2^10×255とすることで、内部システムクロック周波数が10.0MHzであれば、ランダム延長時間は0〜26.112msとなり、内部システムクロック周波数が16.0MHzであれば、ランダム延長時間は0〜16.32msとなる。さらに、7〜6ビットの値を「11」とした場合に、設定内容を0〜2^15×255とすることで、内部システムクロック周波数が10.0MHzであれば、ランダム延長時間は0〜835.584msとなり、内部システムクロック周波数が16.0MHzであれば、ランダム延長時間は0〜522.24msとなる。
このように、ランダム延長時間の設定においては、7〜6ビットの値を「00」とする場合(延長しない場合)を除き、全ての設定(7〜6ビットの値を「00」、「10」、又は、「11」とする場合)で、「0ms」を含んだ範囲でのランダム延長を行うこととなる。そして、ランダム延長を行う設定においても、実質的に、ランダム延長を行わないのと同じ設定が可能であり、7〜6ビットの値を「00」、「10」、又は、「11」に保ちつつ、広範囲で自由度の高いランダム延長時間の設定が可能となっている。
<<メインCPUの初期設定>>
次に、CPU501の他の特徴的である、乱数設定機能について説明する。本実施例のCPU501における乱数設定機能には、16ビット乱数に係る3つの設定機能(16ビット乱数初期設定1、16ビット乱数初期設定2、16ビット乱数初期設定3)と、8ビット乱数に係る2つの乱数設定機能(8ビット乱数初期設定1、8ビット乱数初期設定2)がある。そして、これらの各種の乱数設定機能については、8ビットの設定データによって、具体的な内容の指定が行われる。
<<<16ビット乱数の初期設定>>>
これらのうち、上述の16ビット乱数初期設定1においては、上述の設定データにより、2つのチャネル(ch0、ch1)に係る起動方法、更新クロック、乱数列変更方法の設定が行われる。先ず、設定データのうちの最上位ビット(ビット番号7)により、16ビット乱数ch1の起動方法が設定される。このビット番号7の値が「0」の場合は、ソフトウエアにより定められた最大値での起動が設定され、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。ここで、ユーザモードへの移行は、CPU501の起動直後に、後述するセキュリティチェックが行われ、その後に実行される。そして、ユーザモードへの移行により、前述の制御開始処理(図12参照)が実行される。また、ビット番号7に係る起動方法の選択や、ビット番号7が「0」の場合の最大値の設定については後述する。
さらに、ビット番号6により、更新クロックが設定される。このビット番号6の値が「0」の場合はCPU501の内部システムクロックが指定され、「1」の場合は内部乱数更新用の外部クロック(ここではCPU501の所定端子(RCK端子)に入力される信号)を分周(ここでは2分周)したもの(外部クロック2分周信号)が指定される。
また、ビット番号5及びビット番号4により、乱数列変更方法が設定される。そして、ビット番号5及び4の値が「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。また、ビット番号5及び4の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
さらに、ビット番号3〜0の下位4ビットは、16ビット乱数ch0の設定に割り当てられている。そして、ビット番号3により起動方法が設定され、ビット番号2により更新クロックが設定され、ビット番号1及び0により乱数列変更方法が設定される。さらに、各ビットの値と設定内容との関係は、前述の16ビット乱数ch1と同じである。
つまり、ビット番号3の値が「0」の場合は、ビット番号7が「0」の場合と同様に、ソフトウエアによる最大値設定での起動となり、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。さらに、ビット番号2の値が「0」の場合は内部システムクロックが指定され、「1」の場合は前述の外部クロック2分周信号が指定される。また、ビット番号1及び0の値が順に「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。さらに、ビット番号1及び0の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
次に、前述の16ビット乱数初期設定2においては、16ビット乱数初期設定1と同様に、設定データにより、2つのチャネル(ch3、ch2)に係る起動方法、更新クロック、乱数列変更方法の設定が行われる。さらに、16ビット乱数初期設定2に係る設定データと、設定内容との関係も、16ビット乱数初期設定1と同様である。
そして、ビット番号7の値やビット番号3の値が「0」の場合はソフトウエアによる最大値設定での起動となり、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。さらに、ビット番号6の値やビット番号2の値が「0」の場合は内部システムクロックが指定され、「1」の場合は前述の外部クロック2分周信号が指定される。また、ビット番号5及び4の値や、ビット番号1及び0の値が「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。さらに、ビット番号5及び4の値や、ビット番号1及び0の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
次に、前述の16ビット乱数初期設定3においては、8ビットの設定データにより、16ビット乱数のスタート値(初期値)が設定される。すなわち、設定データのうちの最上位ビット(ビット番号7)により、16ビット乱数ch3のスタート値が設定される。このビット番号7の値が「0」の場合は、スタート値が固定値(ここでは0001H)に設定され、「1」の場合は、スタート値がIDナンバー(後述する)を基にした値に設定される。また、設定データのうちのビット番号6により、16ビット乱数ch3のスタート値を、システムリセット毎に変更するか否かが設定される。そして、このビット番号6の値が「0」の場合は変更しないことが指定され、「1」の場合は変更することが指定される。
ここで、上述のIDナンバーは、CPU501に設定された固有情報の1つである。例えば、CPU501には、固有情報として、ROMコード、チップ個別ナンバー、IDナンバーといった3種類の固有情報を記憶することが可能である。これらの固有情報の記憶は、固有情報記憶回路を備えることにより可能である。これらの固有情報のうち、ROMコードは、例えば、ROM502(図4参照)における所定領域の記憶データから生成される4バイトの数値であり、生成方法の異なる4つの数値により構成することが可能である。チップ個別ナンバーは、例えば、CPU501の製造時に付与される4バイトの番号であり、CPU501内のマイクロコンピュータを構成するチップ毎に異なる数値を示すものとすることが可能である。IDナンバーは、例えば、CPU501の製造時に付与される8バイトの番号であり、マイクロコンピュータを構成するチップ毎に異なる数値を示すものとすることが可能である。
また、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、IDナンバーはユーザプログラムから読み取ることができないように設定することが可能である。なお、固有情報記憶回路は、例えばROM502の所定領域を用いることなどにより、ROM54に含まれるようにしてもよい。あるいは、固有情報記憶回路は、例えばCPU501の内蔵レジスタを用いることなどにより、CPU501に含まれるようにしてもよい。
さらに、前述の設定データのうちのビット番号5及び4は、16ビット乱数ch2のスタート値に係る設定に用いられ、ビット番号3及び2は、16ビット乱数ch1のスタート値に係る設定に用いられ、ビット番号1及び0は、16ビット乱数ch0のスタート値に係る設定に用いられる。さらに、ビット番号5、ビット番号3、ビット番号1は、ch2、ch1、ch0のそれぞれにおけるスタート値の設定に用いられる。そして、各々のビット番号の値が「0」の場合は、前述のビット番号7の場合と同様に、スタート値が固定値(ここでは0001H)に設定され、「1」の場合は、スタート値が前述のIDナンバーを基にした値に設定される。
続いて、ビット番号4、ビット番号2、ビット番号0は、ch2、ch1、ch0のそれぞれにおいて、スタート値を、システムリセット毎に変更するか否かの設定に用いられる。そして、各々のビット番号の値が「0」の場合は、前述のビット番号7の場合と同様に、変更しないことが指定され、「1」の場合は変更することが指定される。ここで、偶数である前述のビット番号6、ビット番号4、ビット番号2、ビット番号0に関して、システムリセット毎にスタート値を変更する「1」を選択した場合、スタート値は、「0」を指定した場合のような固定値とはならない。このことにより、システムリセット毎にスタート値を変更する場合は、予期せず初期値が何らかの固定値となってしまう、といったことが防止される。
<<<8ビット乱数の初期設定>>>
次に、8ビット乱数の初期設定について説明する。先ず、8ビット乱数初期設定1においては、前述の16ビット乱数初期設定1と同様に、設定データにより、2つのチャネル(ch0、ch1)に係る起動方法、更新クロック、乱数列変更方法の設定が行われる。先ず、設定データのうちの最上位ビット(ビット番号7)により、8ビット乱数ch1の起動方法が設定される。このビット番号7の値が「0」の場合は、ソフトウエアにより定められた最大値での起動が設定され、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。ここで、ユーザモードへの移行は、CPU501の起動直後に、後述するセキュリティチェックが行われ、その後に実行される。そして、ユーザモードへの移行により、前述の制御開始処理(図12参照)が実行される。
さらに、ビット番号6により、更新クロックが設定される。このビット番号6の値が「0」の場合は内部システムクロックが指定され、「1」の場合は前述の外部クロック2分周信号が指定される。
また、ビット番号5及びビット番号4により、乱数列変更方法が設定される。そして、ビット番号5及び4の値が「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。また、ビット番号5及び4の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
さらに、ビット番号3〜0の下位4ビットは、8ビット乱数ch0の設定に割り当てられている。そして、ビット番号3により起動方法が設定され、ビット番号2により更新クロックが設定され、ビット番号1及び0により乱数列変更方法が設定される。さらに、各ビットの値と設定内容との関係は、前述の8ビット乱数ch1と同じである。
つまり、ビット番号3の値が「0」の場合は、ビット番号7が「0」の場合と同様に、ソフトウエアによる最大値設定での起動となり、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。さらに、ビット番号2の値が「0」の場合は内部システムクロックが指定され、「1」の場合は前述の外部クロック2分周信号が指定される。また、ビット番号1及び0の値が順に「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。さらに、ビット番号1及0の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
次に、前述の8ビット乱数初期設定2においては、8ビット乱数初期設定1と同様に、設定データにより、2つのチャネル(ch3、ch2)に係る起動方法、更新クロック、乱数列変更方法の設定が行われる。さらに、8ビット乱数初期設定2に係る設定データと、設定内容との関係も、8ビット乱数初期設定1と同様である。
そして、ビット番号7の値やビット番号3の値が「0」の場合は、ソフトウエアによる最大値設定での起動となり、「1」の場合は前述のユーザモードへの移行に伴って自動起動されることとなる。さらに、ビット番号6の値やビット番号2の値が「0」の場合は内部システムクロックが指定され、「1」の場合は前述の外部クロック2分周信号が指定される。また、ビット番号5及び4の値や、ビット番号1及び0の値が「00」の場合は変更しないことが指定され、「01」の場合はソフトウエアで変更することが指定される。さらに、ビット番号5及び4の値や、ビット番号1及び0の値が「10」の場合は2周目から自動で変更することが指定され、「11」の場合は1周目から自動で変更することが指定される。
<<<16ビット乱数の概要>>>
16ビット乱数としては、4チャネル(RL0〜RL3)の16ビット擬似乱数があり、それぞれ独立して動作させることが可能である。そして、この16ビット乱数は、0から65535までの乱数値を発生させる。以下に、本実施おける16ビット乱数の概要を説明する。
先ず、16ビット乱数に係る更新クロックの選択について説明する。本実施例における16ビット乱数では、前述の乱数回路の各チャネルを更新するためのクロック(カウントクロック)の選択が可能である。このカウントクロックとしては、内部システムクロック、及び、外部クロック(RCK端子への入力クロック)の2分周がある。何れのカウントクロックについても、個別に所定の設定を行うことが可能であり、各々の設定は、前述の16ビット乱数初期設定1、又は、16ビット乱数初期設定2における設定データの所定ビット(ここではビット番号2)により行うことができる。
上述の内部システムクロック、及び、外部クロックの2分周のうち、内部システムクロックは、自動的に更新が行われるものである。一方、外部クロックの2分周については、内部乱数更新用にRCK端子から入力された外部クロック信号を2分周して得られた信号により更新が行われる。
RCK端子に入力可能な信号の周波数は、CPU501を動作させるためにEX端子に入力された外部クロック信号の周波数以下に制限されている。つまり、RCK端子に入力可能な信号の周波数は、EX端子に入力されたクロック信号の周波数以下としなければならない。また、CPU501には、クロック監視機能が備えられており、入力されたクロックの監視を行うことが可能となっている。この入力クロックの監視を行う場合は、プログラム管理エリアの前述の乱数クロック監視設定を利用することとなる。
入力クロックの監視において、異常を検知した場合は、内部情報レジスタのRCERビットがセットされて「1」の値となる。このRCERビットは、内部情報レジスタをリード後にクリアされて「0」となるが、引き続き異常状態が継続される場合は、再度RCERビットが「1」にセットされる。
続いて、16ビット乱数の起動方法について説明する。前述した各チャネルの16ビット乱数を起動する方法は、以降で説明するように、最大値設定で起動する方法と、ユーザモード移行で自動起動する方法の2つから選択できる。そして、何れの起動方法も、前述したプログラム管理エリアの16ビット乱数初期設定1、16ビット乱数初期設定2の各々において、選択が可能となっている。さらに、これら起動方法は、前述の各チャネルについて、個別に設定が可能である。
上述の最大値設定で起動する方法においては、各チャネルに対応した最大値設定レジスタに、最大値を設定すると、16ビット乱数が起動される。より具体的には、いずれのチャネルについても、最大値設定レジスタの上位バイト設定後に、16ビット乱数が起動される。したがって、最大値設定レジスタの下位バイトを設定しただけでは、16ビット乱数は起動されない。
上述のユーザモード移行で自動起動する方法においては、ユーザモード移行で、最大値をFFFFHとして、16ビット乱数が自動的に起動される。そして、この起動方法を選択した場合は、最大値の設定をすることはできない。
続いて、上述の最大値の設定について説明する。本実施例においては、各チャネルの16ビット乱数が発生する乱数の最大値を、256から65535までの範囲で、任意の値で設定することができる。ここで、設定可能な最大値256から65535のうちの最小の値である256は、1バイトで表すことが可能な数値(0から255)の最大の値である255よりも更に大きい値となっている。最大値を設定する場合は、プログラム管理エリアの16ビット乱数初期設定1、16ビット乱数初期設定2での起動を、「最大値設定で起動」を選択して行い、使用するチャネルの16ビット乱数最大値設定レジスタに最大値を設定する。そして、この16ビット乱数における最大値設定レジスタに設定された乱数の範囲で、前述の乱数回路が乱数値を発生させる。最大値設定レジスタはリード/ライトが可能であるが、ライトはシステムリセット後、1回のみ可能となっている。そして、最大値設定レジスタにおける上位バイトと下位バイトのうち、上位バイトに設定を行うと乱数が起動されるようになっている。そして、最大値設定レジスタの下位バイトを設定しただけでは、16ビット乱数は起動されないようになっている。
この設定された最大値を上限として、すべて(0から設定した最大値まで)の値を得ることができる。例えば最大値を300とした場合に、乱数値は、0から300までの301個の値のうち、一致しない(重複しない)何れかの値となるように順次更新され、最後の値(301個目の値であり、言い換えれば300回目の更新値である。)の次は、更に、0から300までの301個の値のうち、一致しない(重複しない)何れかの値となる。そして、この最大値の設定は、各チャネルについて個別に設定が可能である。なお、最大値の設定前に、乱数値の取り込みが行われた場合は、取り込まれた乱数値のリードを行うようにすることが必要である。つまり、最大値の設定前は、乱数が起動されていない状況にあり、最大値設定前に取得した乱数値については、有効性が担保できないため、リードすることによりレジスタから削除し、抽選には使用されないようにしている。言い換えれば、本実施例においては、最大値の設定前でも乱数の取得がされる場合があるが、設定前のタイミングで取得された場合には、リードすることで、取得した乱数値をレジスタから削除している。このことにより、レジスタに残った乱数値を使用してしまうことを防止できる。そして、最大値の設定前の取込値に対する管理を徹底でき、不測の事態の発生を防止できる。
続いて、上述のように設定された乱数列が一巡する周期について説明する。上述の16ビット乱数が一巡する周期は、設定した最大値により、算出式が異なる。つまり、最大値が2^m−1(m=9〜16)の場合、16ビット乱数が一巡する周期=(1/カウントクロックの周波数)×(最大値+1)の算出式により、乱数列の一巡周期が算出される。例えば、最大値設定が65535(=2^16−1)の場合、更新周波数(カウントクロックの周波数)が10.0MHzであれば、乱数列の一巡周期は6.5536msとなり、更新周波数が16.0MHzであれば、4.096msとなる。
同様に、最大値が16383(=2^14−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は1.6384msとなり、更新周波数が16.0MHzであれば、1.024msとなる。また、最大値が4095(=2^12−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.4096msとなり、更新周波数が16.0MHzであれば、0.256msとなる。さらに、最大値が1023(=2^10−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.1024msとなり、更新周波数が16.0MHzであれば、0.064msとなる。また、最大値が511(=2^9−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0512msとなり、更新周波数が16.0MHzであれば、0.032msとなる。
一方、最大値が2^m−1(m=9〜16)以外の場合、16ビット乱数が一巡する周期=(32/カウントクロックの周波数)×(最大値+1)の算出式により、乱数列の一巡周期が算出される。例えば、最大値が65534(=2^16−2)の場合、更新周波数(カウントクロックの周波数)が10.0MHzであれば、乱数列の一巡周期は209.7120msとなり、更新周波数が16.0MHzであれば、131.070msとなる。
同様に、最大値が16382(=2^14−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は52.4256msとなり、更新周波数が16.0MHzであれば、32.766msとなる。また、最大値が4094(=2^12−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は13.1040msとなり、更新周波数が16.0MHzであれば、8.190msとなる。さらに、最大値が1022(=2^10−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は3.2736msとなり、更新周波数が16.0MHzであれば、2.046msとなる。また、最大値が510(=2^9−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は1.6352msとなり、更新周波数が16.0MHzであれば、1.022msとなる。さらに、最大値が256(=2^8)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.8224msとなり、更新周波数が16.0MHzであれば、0.514msとなる。
続いて、上述の乱数列におけるスタート値の選択について説明する。本実施例においては、上述の16ビット乱数の、1周目からのスタート値を、「0001H」、IDナンバーを基にした値、又は、システムリセット毎に変動する値のうちから、個別に設定することが可能である。そして、スタート値の設定は、プログラム管理エリアの16ビット乱数初期設定3により、各チャネル毎に、個別に行うことが可能である。
上述の「0001H」をスタート値とする場合は、前述の乱数回路を更新する際のスタート値を、「0001H」とする。また、上述のIDナンバーを基にした値をスタート値とする場合は、乱数回路を更新する際のスタート値を、IDナンバーを基にした値とする。この時のスタート値は、CPU501に内蔵されたマイクロコンピュータのチップ毎に異なる値となる。さらに、上述のシステムリセット毎に変動する値をスタート値とする場合は、乱数回路を更新する際のスタート値を、システムリセット毎に変動する値とする。このときは、CPU501に内蔵された個別のチップについても、システムリセットが入力される度に、スタート値が異なる値となる。
続いて、乱数列変更方法の選択について説明する。上述の16ビット乱数が発生する乱数列は、通常は0から65353(最大値を設定した場合は最大値)の範囲で一定の規則で更新されるが、本実施例においては、この乱数列の並びを変更することができる。ただし、任意で並び順を選ぶことはできない。乱数列は、プログラム管理エリアの16ビット乱数初期設定1、16ビット乱数初期設定2に指定することにより、次の4つの方法から選択できる。そして、乱数列の変更方法については、個別に設定することが可能である。
本実施例において、設定が可能な乱数列の変更方法は、乱数列を変更しない、ソフトウエアにより変更する、2周目から自動的に乱数列を変更する、1周目から自動的に乱数列を変更する、の4態様である。これらのうち、乱数列を変更しない方法においては、乱数列は変更されず、変更されない一定の規則にしたがって乱数値が更新される。
上述のソフトウエアにより変更する方法においては、ユーザプログラムにより、乱数列が変更される。この方法においては、各チャネルを個別に変更することが可能である。そして、乱数列の変更には、乱数列変更レジスタが用いられており、この乱数列変更レジスタの8ビットのうちの対応するビットに「1」をライトすることにより、乱数列変更機能が有効になる。
前述の乱数回路の動作中における一巡については(乱数列の途中においては)、乱数列は変更されず、次の周期の始めからの乱数列が変更される。乱数列の変更を指定するための処理である乱数列変更要求が受け付けられると、乱数列変更レジスタの対応するビットは「0」にクリアされる。なお、乱数列の変更は何回でも実行できる。ただし、変更した後に次の変更の要求がない場合は、直前の変更パターンが継続される。
例えば、n周期目の乱数列のスタート後、乱数列の変更要求があった場合は、n周期目の乱数列の最後の乱数値の生成後、次のn+1周期目の乱数列は、n周期中に変更要求があった新たな乱数列となる。その後、乱数列の変更要求がなければ、n+2周期目、n+3周期目の乱数列は、n+1周期目と同じ乱数列となる。そして、例えば、n+3周期目の途中で乱数列の変更要求があれば、n+4周期目以降の乱数列は、n+3周期中に変更要求があった新たな乱数列となる。
前述の2周目から自動的に乱数列を変更する方法においては、2周目から発生する乱数列が、自動的に変更される。そして、乱数列が一巡する度に、自動的に乱数列が変更される。また、上述の1周目から自動的に乱数列を変更する方法においては、1周目から発生する乱数列が、自動的に変更される。そして、乱数列が一巡する度に、自動的に乱数列が変更される。
続いて、乱数値取込方法について説明する。本実施例においては、16ビット乱数は、各チャネルに対して、3つの方法で乱数値を取り込むことができる。この3つの方法としては、ソフトウエアによる第1の取込方法、第2の取込方法、及び、外部端子入力による取込方法を挙げることができる。なお、以下では、ソフトウエアによる第1の取込方法を「ソフトウエアによる取込1」、ソフトウエアによる第2の取込方法を「ソフトウエアによる取込2」、外部端子入力による取込方法を「外部端子入力による取込」と称する。
上述の3つの取込方法のうち、ソフトウエアによる取込1は、外部更新クロックを選択した場合のものであり、ソフトウエアによる取込1においては、ユーザプログラムにより、乱数値が取り込まれる。乱数値を格納するレジスタは、各チャネル毎に1つ準備されている。そして、乱数ソフトラッチレジスタの取り込みたいレジスタに対応するビットに、「1」をライトすることにより、対応するチャネルのソフトラッチ乱数値レジスタに乱数値が取り込まれる。乱数値が取り込まれると、乱数ソフトラッチフラグレジスタの対応ビットがセットされて「1」となる。ただし、乱数値のリードを行わずに、乱数ソフトラッチレジスタにライトした場合は、乱数値を取り込むことができないようになっている。このことにより、乱数ソフトラッチレジスタを適正に利用でき、乱数値の取込みに係る処理の適正化が可能になる。
上述の3つの取込方法のうち、ソフトウエアによる取込2は、前述の内部システムクロックを選択した場合のものであり、ソフトウエアによる取込2においては、対応するチャネルのソフトラッチ乱数レジスタの下位バイトからリードを行うと同時に、上位バイトの値が取り込まれる。そして、この場合は、乱数ソフトラッチフラグレジスタの対応ビットはセットされず、「1」にならない。このことにより、内部システムクロックを選択した場合における乱数値の取込みに係る処理を適正化できる。なお、このソフトウエアによる取込2は、更新クロックとして、内部システムクロックが選択されている場合のみ有効なものである。
上述の3つの取込方法のうち、外部端子入力による取込においては、乱数値を格納するレジスタは、チャネル0については2つ(上位バイトと下位バイトの組が2セット)、チャネル1〜3については各々1つ(合計で3セット)準備されている。それぞれのレジスタに、どの外部端子を介して情報を取り込むかの設定は、チャネル毎に設けられたハードラッチ選択レジスタを用いて行う。
このハードラッチ選択レジスタは、チャネル0が使用されるときは2つ設定され、それ以外のチャネルが設定される場合は1つ設定される。
あらかじめ、入力ポート制御レジスタで設定された期間以上の、アクティブ信号を入力されると、各チャネル毎に設けられたハードラッチ選択レジスタに、乱数値が取り込まれる。
入力ポート制御レジスタは、8つ設けられており、ハードラッチ選択レジスタは、チャネル0が使用されるときには2つ設定され、チャネル1〜3が使用されるときには1つ設定される。
乱数値が取り込まれると、対応したチャネル毎に設けられた16ビット乱数ハードラッチフラグレジスタの対応ビットがセットされて「1」となる。この16ビット乱数ハードラッチフラグレジスタは、いずれのチャネルが使用される場合についても2つ設定される。
続いて、16ビット乱数に係る異常の検出について説明する。本実施例においては、16ビット乱数の動作異常を、「外部クロック周波数異常」及び「更新異常」の2つの状態について検出することができる。そして、検出した状態は、内部情報レジスタで確認することができる。
上述の外部クロック周波数異常については、乱数更新用クロックとして、外部クロックを選択した場合、周波数の監視が行われるようになっている。そして、監視を行う場合は、プログラム管理エリアの前述の乱数クロック監視設定により、入力クロックの設定を行うようになている。設定された周波数の低下を検出した場合、内部情報レジスタのRCERビットがセットされて「1」となる。このRCERビットは、内部情報レジスタをリード後に、クリアされて「0」なるが、引き続き異常状態が継続される場合は、再度RCERビットがセットされて「1」となる。
上述の更新異常については、16ビット乱数の更新状態が監視され、異常を検知した場合、対応する内部情報レジスタのRLERビットがセットされて「1」となる。このRLERビットは、内部情報レジスタをリード後に、クリアされて「0」となるが、引き続き異常状態が継続される場合は、再度RLERビットがセットされて「1」となる。
<<<8ビット乱数の概要>>>
本実施例においては、上述の16ビット乱数に加えて、前述のように8ビット乱数を生成することが可能となっている。この8ビット乱数としては、4チャネル(RS0〜RS3)の8ビット擬似乱数があり、それぞれ独立して動作させることが可能である。そして、この8ビット乱数は、0から255までの乱数値を発生する。以下に、本実施おける8ビット乱数の概要を説明する。
先ず、8ビット乱数に係る更新クロックの選択について説明する。本実施例における8ビット乱数では、前述の乱数回路の各チャネルを更新するためのクロック(カウントクロック)の選択が可能である。このカウントクロックとしては、内部システムクロック、及び、外部クロック(RCK端子への入力クロック)の2分周がある。何れのカウントクロックについても、個別に所定の設定を行うことが可能であり、各々の設定は、前述の8ビット乱数初期設定1、又は、8ビット乱数初期設定2における設定データの所定ビット(ここではビット番号2)により行うことができる。
上述の内部システムクロック、及び、外部クロックの2分周のうち、内部システムクロックは、自動的に更新が行われるものである。一方、外部クロックの2分周については、内部乱数更新用にRCK端子から入力されたクロック信号を2分周して得られた信号により更新が行われる。
RCK端子に入力可能な信号の周波数は、CPU501を動作させるためにEX端子に入力された外部クロック信号の周波数以下に制限されている。つまり、RCK端子に入力可能な信号の周波数は、EX端子に入力されたクロック信号の周波数以下としなければならない。また、CPU501には、クロック監視機能が備えられており、入力されたクロックの監視を行うことが可能となっている。この入力クロックの監視を行う場合は、プログラム管理エリアの前述の乱数クロック監視設定を利用することとなる。
入力クロックの監視において、異常を検知した場合は、内部情報レジスタのRCERビットがセットされて「1」の値となる。このRCERビットは、内部情報レジスタをリード後にクリアされて「0」となるが、引き続き異常状態が継続される場合は、再度RCERビットが「1」にセットされる。
続いて、8ビット乱数の起動方法について説明する。前述した各チャネルの8ビット乱数を起動する方法は、以降で説明するように、最大値設定で起動する方法と、ユーザモード移行で自動起動する方法の2つから選択できる。そして、何れの起動方法も、前述したプログラム管理エリアの8ビット乱数初期設定1、8ビット乱数初期設定2の各々において、選択が可能となっている。さらに、これら起動方法は、前述の各チャネルについて、個別に設定が可能である。
上述の最大値設定で起動する方法においては、各チャネルに対応した最大値設定レジスタに、最大値を設定すると、8ビット乱数が起動される。ここでは、16ビット乱数の場合(例えば「00FFH」とする場合)と異なり、例えば「FFH」のみの設定で起動される。つまり、16ビット乱数の場合のような、最大値設定レジスタの上位バイト設定後に乱数が起動されるという処理は行われない。
上述のユーザモード移行で自動起動する方法においては、ユーザモード移行で、最大値をFFHとして、8ビット乱数が自動的に起動される。そして、この起動方法を選択した場合は、最大値の設定をすることはできない。
続いて、上述の最大値の設定について説明する。本実施例においては、各チャネルの8ビット乱数が発生する乱数の最大値を、16から255までの範囲で、任意の値を設定することができる。最大値を設定する場合は、プログラム管理エリアの8ビット乱数初期設定1、8ビット乱数初期設定2での起動を、「最大値設定で起動」を選択して行い、使用するチャネルの8ビット乱数最大値設定レジスタに最大値を設定する。ここでは、16ビット乱数の場合と異なり、上位バイトを設定すると乱数が起動される、といった処理は行われない。つまり、下位バイトに上位バイトを組み合せた、例えば「00FFH」といった設定は必要なく、下位の、例えば「FFH」のみの設定で、乱数が起動される。
この設定された最大値を上限として、すべて(0から設定した最大値まで)の値を得ることができる。例えば最大値を100とした場合に、乱数値は、0から100までの101個の値のうち、一致しない(重複しない)何れかの値となるように順次更新され、最後の値(101個目の値であり、言い換えれば100回目の更新値である。)の次は、更に、0から100までの101個の値のうち、一致しない(重複しない)何れかの値となる。そして、この最大値の設定は、各チャネルについて個別に設定が可能である。なお、最大値の設定前に、乱数値の取り込みが行われた場合は、取り込まれた乱数値のリードを行うようにすることが必要である。つまり、最大値の設定前は、乱数が起動されていない状況にあり、最大値設定前に取得した乱数値については、有効性が担保できないため、リードすることによりレジスタから削除し、抽選には使用されないようにしている。言い換えれば、本実施例においては、最大値の設定前でも乱数の取得がされる場合があるが、設定前のタイミングで取得された場合には、リードすることで、取得した乱数値をレジスタから削除している。このことにより、レジスタに残った乱数値を使用してしまうことを防止できる。そして、最大値の設定前の取込値に対する管理を徹底でき、不測の事態の発生を防止できる。この点も16ビット乱数の場合と同様である。
続いて、上述のように設定された乱数列が一巡する周期について説明する。上述の8ビット乱数が一巡する周期は、設定した最大値により、算出式が異なる。つまり、最大値が2^m−1(m=5〜8)の場合、8ビット乱数が一巡する周期=(1/カウントクロックの周波数)×(最大値+1)の算出式により、乱数列の一巡周期が算出される。例えば、最大値設定が255(=2^8−1)の場合、更新周波数(カウントクロックの周波数)が10.0MHzであれば、乱数列の一巡周期は0.0256msとなり、更新周波数が16.0MHzであれば、0.016msとなる。
同様に、最大値設定が127(=2^7−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0128msとなり、更新周波数が16.0MHzであれば、0.008msとなる。また、最大値設定が63(=2^6−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0064msとなり、更新周波数が16.0MHzであれば、0.004msとなる。さらに、最大値設定が31(=2^5−1)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0032msとなり、更新周波数が16.0MHzであれば、0.002msとなる。
一方、最大値が2^m−1(m=5〜8)以外の場合、8ビット乱数が一巡する周期=(16/カウントクロックの周波数)×(最大値+1)の算出式により、乱数列の一巡周期が算出される。例えば、最大値設定が254(=2^8−2)の場合、更新周波数(カウントクロックの周波数)が10.0MHzであれば、乱数列の一巡周期は0.4080msとなり、更新周波数が16.0MHzであれば、0.255msとなる。
同様に、最大値設定が126(=2^7−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.2032msとなり、更新周波数が16.0MHzであれば、0.127msとなる。また、最大値設定が62(=2^6−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.1008msとなり、更新周波数が16.0MHzであれば、0.063msとなる。さらに、最大値設定が30(=2^5−2)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0496msとなり、更新周波数が16.0MHzであれば、0.031msとなる。また、最大値設定が16(=2^4)の場合、更新周波数が10.0MHzであれば、乱数列の一巡周期は0.0272msとなり、更新周波数が16.0MHzであれば、0.017msとなる。
続いて、乱数列変更方法の選択について説明する。上述の8ビット乱数が発生する乱数列は、通常は0から255(最大値を設定した場合は最大値)の範囲で一定の規則で更新されるが、本実施例においては、この乱数列の並びを変更することができる。ただし、任意で並び順を選ぶことはできない。乱数列は、プログラム管理エリアの8ビット乱数初期設定1、8ビット乱数初期設定2に指定することにより、次の4つの方法から選択できる。そして、乱数列の変更方法については、個別に設定することが可能である。
本実施例において、設定が可能な乱数列の変更方法は、乱数列を変更しない、ソフトウエアにより変更する、2周目から自動的に乱数列を変更する、1周目から自動的に乱数列を変更する、の4態様である。これらのうち、乱数列を変更しない方法においては、乱数列は変更されず、変更されない一定の規則にしたがって乱数値が更新される。
上述のソフトウエアにより変更する方法においては、ユーザプログラムにより、乱数列が変更される。この方法においては、各チャネルを個別に変更することが可能である。そして、乱数列の変更には、乱数列変更レジスタが用いられており、この乱数列変更レジスタの8ビットのうちの対応するビットに「1」をライトすることにより、乱数列変更機能が有効になる。
前述の乱数回路の動作中における一巡については(乱数列の途中においては)、乱数列は変更されず、次の周期の始めからの乱数列が変更される。乱数列の変更を指定するための処理である乱数列変更要求が受け付けられると、乱数列変更レジスタの対応するビットは「0」にクリアされる。なお、乱数列の変更は何回でも実行できる。ただし、変更した後に次の変更の要求がない場合は、直前の変更パターンが継続される。
例えば、n周期目の乱数列のスタート後、乱数列の変更要求があった場合は、n周期目の乱数列の最後の乱数値の生成後、次のn+1周期目の乱数列は、n周期中に変更要求があった新たな乱数列となる。その後、乱数列の変更要求がなければ、n+2周期目、n+3周期目の乱数列は、n+1周期目と同じ乱数列となる。そして、例えば、n+3周期目の途中で乱数列の変更要求があれば、n+4周期目以降の乱数列は、n+3周期中に変更要求があった新たな乱数列となる。
前述の2周目から自動的に乱数列を変更する方法においては、2周目から発生する乱数列が、自動的に変更される。そして、乱数列が一巡する度に、自動的に乱数列が変更される。また、上述の1周目から自動的に乱数列を変更する方法においては、1周目から発生する乱数列が、自動的に変更される。そして、乱数列が一巡する度に、自動的に乱数列が変更される。
続いて、乱数値取込方法について説明する。本実施例においては、8ビット乱数は、各チャネルに対して、3つの方法で乱数値を取り込むことができる。この3つの方法としては、ソフトウエアによる第1の取込方法、第2の取込方法、及び、外部端子入力による取込方法を挙げることができる。なお、以下では、ソフトウエアによる第1の取込方法を「ソフトウエアによる取込1」、ソフトウエアによる第2の取込方法を「ソフトウエアによる取込2」、外部端子入力による取込方法を「外部端子入力による取込」と称する。
上述の3つの取込方法のうち、ソフトウエアによる取込1は、外部更新クロックを選択した場合のものであり、ソフトウエアによる取込1においては、ユーザプログラムにより、乱数値が取り込まれる。乱数値を格納するレジスタは、各チャネル毎に1つ準備されている。そして、乱数ソフトラッチレジスタの取り込みたいレジスタに対応するビットに、「1」をライトすることにより、対応するチャネルのソフトラッチ乱数値レジスタに乱数値が取り込まれる。乱数値が取り込まれると、乱数ソフトラッチフラグレジスタの対応ビットがセットされて「1」となる。ただし、乱数値のリードを行わずに、乱数ソフトラッチレジスタにライトした場合は、乱数値を取り込むことができないようになっている。このことにより、乱数ソフトラッチレジスタを適正に利用でき、乱数値の取込みに係る処理の適正化が可能になる。
上述の3つの取込方法のうち、ソフトウエアによる取込2は、前述の内部システムクロックを選択した場合のものであり、ソフトウエアによる取込2においては、対応するチャネルのソフトラッチ乱数レジスタを、16ビット乱数の場合と異なり、直接リードすることができる。ここでは、16ビット乱数の場合のような、リードを行うと同時に、上位バイトの値が取り込まれる、といった処理は行われない。そして、この場合は、乱数ソフトラッチフラグレジスタの対応ビットはセットされず、「1」にならない。このソフトウエアによる取込2は、更新クロックとして、内部システムクロックが選択されている場合のみ有効なものである。
上述の3つの取込方法のうち、外部端子入力による取込においては、乱数値を格納するレジスタは、各チャネルに1つ準備されている。それぞれのレジスタに、どの外部端子を介して情報を取り込むかの設定は、8ビット乱数ハードラッチ選択レジスタを用いて行う。この8ビット乱数ハードラッチ選択レジスタは、チャネル0が使用されるときは2つ設定され、それ以外のチャネルが設定される場合は1つ設定される。
あらかじめ、入力ポート制御レジスタで設定された期間以上の、アクティブ信号を入力されると、各チャネル毎に設けられた8ビット乱数ハードラッチ選択レジスタに、乱数値が取り込まれる。
乱数値が取り込まれると、8ビット乱数ハードラッチフラグレジスタの対応ビットがセットされて「1」になる。
本実施例においては、上述のように8ビット乱数となるカウンタ値の生成が可能であるが、ぱちんこ遊技機10における各種の抽選制御に関して、16ビット乱数が使用されており、8ビット乱数は使用されていない。つまり、CPU501は、8ビット乱数を使用した抽選機能を有するものの、8ビット乱数は使用せず、16ビット乱数のみを利用している。さらに、8ビット乱数は、前述のように、更新クロックの選択、起動方法、最大値の設定、乱数列が一巡する周期、乱数列変更方法の選択、及び、乱数値取込方法に関して、16ビット乱数とビット数の相違を除き同様の機能を有している。
<<制御開始処理>>
次に、前述の制御開始処理について説明する。図12及び図13に示す制御開始処理は、ぱちんこ遊技機10の電源投入によりCPU501の製造コードを利用したセキュリティチェックが行われた後に開始される制御処理であり、この制御開始処理においては、後述する電源投入時に必要な設定(S1〜S4)を実行後、初期化スイッチ544の操作状態(S5)、電断時状況確認処理(S6〜S8)における電源断情報フラグの値、及びRWM領域の加算結果(チェックサムデータ)に対応して、電源断復帰時の処理(S9〜S17)、RWMの初期化時の処理(S24〜S26)、遊技進行割込み用の計時設定の処理(S27)、循環処理(S33(S28〜S32))、電源断確認情報設定時の処理(S301〜S307)等を実行する。
<<<電源投入時に必要な設定>>>
電源投入時に必要な設定として、スタックポインタの設定(S1)、割込みモードの設定(S2)、及びRWM503へのアクセス許可の設定(S3)が行われ、続いて内蔵レジスタの初期設定が行われる(S4)。
これらのうちスタックポインタの設定(S1)の処理においては、スタック領域を確保するため、スタックポインタにスタックポインタの初期値としてセットし、スタックポインタが特定の番地にセットされる。次に、割込みモードの設定(S2)においては、所定番号のモードを設定し、RWMのアクセス許可設定(S3)においては、RWMへのアクセスを許可するため、所定のレジスタにアクセス許可データをセットする。これにより、マスカブル割込みが特定の割込みモードに設定され、CPU内蔵RWMがアクセス許可にされる。さらに、内蔵レジスタの設定(S4)においては、内蔵レジスタ初期設定テーブルを用いて、遊技進行割込み使用設定値やクロック源選択値等といった対応する各種の設定値がセットされる。なお、メイン基板102における割込みについては後述する。
<<<RWMクリアスイッチの操作状態の確認>>>
初期化スイッチ544の操作状態の確認の処理(S5)においては、入力ポートを介して入力される初期化スイッチ544の出力信号の状態が確認される。RWMクリアスイッチが押されたか(オンされたか)否かが判定され、押されていなければ(S5:NO)、後述する電断時状況判定処理(S6〜S8)中の電源断情報フラグの値の判定処理(S6)へ進む。一方、初期化スイッチ544が押されていれば(S5:YES)、RWMの初期化時の処理(S24〜S26)の処理が行われる。
ここで、初期化スイッチ544は、対応する入力ポートのRWMクリアスイッチビットが5回連続でオンと判定された場合に操作されたと判断される。また、初期化スイッチ544が押されたか否かの情報の判定はこのとき1回だけ行われ、以降は判定が行われない。
また、この初期化スイッチ544の状態確認の処理(S5)においては、RWM先頭アドレス(番地)が相対アドレスの基準値としてセットされ、入力確認回数(ここでは5回)のセット、対応する入力ポート値の入力、当該入力ポートの値のうちのRWMクリアスイッチビットの検査、検査結果の確認、セットされた入力確認回数に亘り繰り返される入力確認、等の制御処理を実行する。
<<<電断時状況確認処理>>>
初期化スイッチ544の操作がなかった場合の電断時状況確認処理(S6〜S8)においては、電源断情報フラグの値が読込まれ、読込まれた値が所定の電源断正常データに一致するか否かが判定される(S6)。電源断正常データは、電源がオフする電源断(電断)が生じた際に、電源断の処理が正常に行われた場合に保存されるものである。そして、電源断情報フラグの値が電源断正常データに一致せず、S6における判定結果がNOとなった場合には、初期化スイッチ544の操作があった場合と同様に、制御処理は後述するRWMの初期化時の処理(S24以降)へ移行する。
電源断情報フラグの値が電源断正常データに一致した場合(S6:YES)場合には、チェックサムデータが算出される(S7)。このチェックサムデータの算出の処理においては、図示は省略するが、チェックサムデータとして初期値がセットされ、チェックサムデータに対して所定の演算が行われた後、演算後のチェックサムデータが0と異なるか否かの判定が実行される。
チェックサムデータが0でなかった場合(S8:NO)、即ち再開準備処理実行条件が成立していない場合には、相対アドレスの基準値の上位にRWM先頭上位がセットされ、この場合にもRWMの初期化時の処理(S24以降)へ移行する。一方、チェックサムデータが0であった場合(S8:YES)には、後述する電源断復帰時の処理(S9〜S17)へ移行する。
<<<電源断復帰時の処理>>>
電源断復帰時の処理においては、スタックポインタにスタックポインタバッファの値がセットされ、スタックポインタが電源断時に保存した値に戻される(S9)。さらに、メイン基板102とサブ基板104との通信線の検査を行うため、演出制御コマンドをサブ基板104へ送信する要求がされ(S10,S11)、装飾ランプ(遊技効果ランプ)及び効果音(音響演出)の演出を電源断発生前の状態に戻すため、演出制御コマンドをサブ基板104へ送信する要求がされる(S10,S11)。また、特別図柄表示装置(70,71)の作動保留球数に対応したコマンドの要求を行うため、図柄記憶数コマンド要求処理が実行される(S12)。
さらに、ソレノイドが電源断発生前の出力状態に戻される(S13)。具体的には、第2始動入賞口63、第1大入賞口91、第2大入賞口92の開放/閉鎖状態を電源断前の状態に復帰させるため、普通電動役物ソレノイド76、大入賞口ソレノイド80,81についてのソレノイド作動ビットが順に検査される。普通電動役物ソレノイド制御のソレノイド作動ビットがオンの場合、電源断前に第2始動入賞口63が開放中と判断し、第2始動入賞口63を開放させるため、ソレノイド作動設定値を普通電動役物ソレノイド制御に格納する。続いて、第1大入賞ソレノイド制御のソレノイド作動ビットがオンの場合、電源断前に第1大入賞口91が開放中と判断し、第1大入賞口91を開放させるため、ソレノイド作動設定値を普通電動役物ソレノイド制御に格納する。また、第2大入賞ソレノイド制御のソレノイド作動ビットがオンの場合、電源断前に第2大入賞口92が開放中と判断し、第1大入賞口91を開放させるため、ソレノイド作動設定値を普通電動役物ソレノイド制御に格納する。
この後、以降の特別図柄の設定の処理(S14)へ進み、特別図柄表示装置(70,71)の確率変動機能の作動状態の情報が設定される。この処理においては、特別図柄モードフラグの値がロードされ(言換えれば、特別図柄モードフラグの値が組み込まれ)、所定のレジスタにストアされる。次に、電源復帰の設定(S15)、及びデータ格納処理(S16)が実行される、さらに、払出制御基板との通信線異常の検出設定(S17)が実行され、ここでは、エラーフラグのアドレスがセットされ、エラー1フラグの内容の通信線異常ビットがセットされる。そして、制御処理は、後述する遊技進行割込み用の計時設定の処理(S27)へ進む。
<<<RWMの初期化時の処理>>>
RWMの初期化時の処理(S24〜S28)においては、RWM領域をクリアした後(S24)、RWMの初期設定(S25)、演出表示器(演出図柄表示装置60)の初期化(S26)、及び遊技進行割込み用の計時設定(S27)を行う。このうちRWM領域のクリア(S24)においては、各種のエラー発生時に設定されるエラーフラグの情報を含めてクリが行われる。そして、RWM領域のクリア(S24)からRWMの初期設定(S25)の処理においては、RWM全領域にクリアデータ(00H)がセットされ、クリアデータが相対アドレスの基準値としてストアされ、この基準値が+1される。さらに、この基準値のビット7が検査され、検査結果の判定が実行される。検査結果の判定の処理において、検査結果が0であれば、前述のクリアデータを上記基準値にストアする処理に戻り、初期化データ設定テーブルのアドレスがセットされる。これにより、RWMの初期値が設定される。なお、RWM領域のクリアは、全領域に対して行うものに限定されず、例えば特定の情報が記憶された一部の領域のみや、未使用の領域を除いた領域のみをクリアするようにしてもよい。
演出表示器の初期化(S26)においては、演出図柄表示装置60の初期化、エラー状態及び不正賞球監視情報のコマンド送信要求を行うため、演出初期コマンド設定テーブルのアドレスを引数としてコマンド要求データ設定処理を実行する。
<<<遊技進行割込み用の計時設定の処理>>>
遊技進行割込み用の計時設定の処理(S27)においては、遊技進行割込みを起動させるため、対応するカウンタ設定レジスタに所定の大きさのカウント値をセットし、遊技進行割込みを例えば4ms毎に発生させる。
<<<循環処理>>>
遊技進行割込み用の計時設定(S27)の後には、割込み処理時間監視手段である所定のタイマの再帰(リスタート)準備や、各種乱数の初期値の生成に用いられる乱数関係値の更新を行う循環処理(S33(S28〜S32))が実行される。この循環処理(S33)においては、遊技機の管理を行うため、先ず、割込みを禁止する(S28)。さらに、割込み処理時間監視手段を再帰させる準備のため、割込み処理時間監視手段クリアレジスタに第1再帰情報となる所定の値をセットする(S29)。この第1再帰情報は、予め定められた例えば55H等の値である。また、電源断確認情報が設定されているか否かが判定され(S30)、設定されている場合には(S30:Yes)、後述する電源断処理(S301〜S307)に移行する。
前述の電源断確認情報が設定されているか否かの判定(S30)において、設定されていないと判定された場合には(S30:No)、初期値乱数更新処理を実行し(S31)、普通図柄当り初期値乱数、特別図柄当り図柄初期値乱数、及び特別図柄当りソフト初期値乱数を更新する。この後、割込みを許可した後(S32)、再度割込み禁止(S28)の処理に戻り、それ以降の処理(S28〜S32)を順次繰り返して制御処理を循環させる。
割込み許可(S28)が実行される毎に前述の遊技進行割込みが可能となり、遊技進行割込み処理は、S27で設定された周期情報に基づいて、所定の周期(ここでは4ms周期)毎に繰返される。
<<<電源断処理>>>
電源断確認情報が設定されているか否かの判定(S30)において、設定されていると判定された場合には(S30:Yes)、CPU501が強制再帰手段として機能し、第22再帰情報の設定が行われ(S301)、割込み処理時間監視手段の監視用計時が強制的に初期化され、計時が再帰させられる。この強制的な第2再帰情報の設定(S301)により、電力供給が再開された場合には、監視用計時が再帰した状態で、制御処理が開始される。つまり、電源断発生時に監視用計時を強制的に再帰させておくことにより、電力供給を再開した直後の制御処理において、監視用計時が再帰しないまま、制御処理が進行することを防止できるようになっている。
続いて、電源投入時の情報フラグ(電源断情報フラグ)のアドレスがセットされ、当該電源断情報フラグの値が読み出されて、電源投入時の情報が正常に保存されているか否かが判定される(S302)。そして、電源投入時の情報が正常に保存されていた場合には(S302:Yes)、電源断正常データ(ここでは55H)が設定され(S304)、電源断となる際のRWMのチェックサムが算出されて(S305)、チェックサムデータが作成される。そして、アクセス禁止の設定を行い(S306)、電源断時ループ処理(S307)により、供給電圧が所定値以下となって電源断となるのを待つ。
前述の電源投入時の情報が正常に保存されているか否かの判定(S302)において、判定結果が正常に保存されていない(S302:No)となった場合には、電源断異常データが設定(S303)された後、前述のアクセス禁止の処理(S306)に移行する。
<<<電源断確認情報設定の処理>>>
次に、前述のS30において判定される電源断確認情報を設定する場合の制御処理について説明する。先ず、電源投入がされた後、所定の処理を経て制御開始処理(図12及び図13参照)が開始され、更に制御開始処理中に実行される遊技進行割込み用の計時設定の処理(図13中にS27で示す)などを経て、ループ処理が開始される。このループ処理は、図13中の循環処理(S33)に対応するものである。
ループ処理の開始後、遊技進行割込み処理の開始タイミングが到来すると、図14に示す遊技進行割込み処理が実行される。この後、遊技進行割込み処理の途中で電源電圧の低下が発生した場合、NMI端子への信号入力によるノンマスカブル割込み処理(NMI処理)に伴い、制御処理は所定のアドレス(ここでは0066H番地)にジャンプし移行する。そして、制御プログラムにより上述の所定のアドレス(0066H)以降に規定された内容に従い、NMI処理が発生したことを示す電源断確認情報が設定され、この電源断確認情報を設定するための電源断確認情報設定の処理がリターンに抜け、遊技進行割込み処理中の電断発生時の処理に戻る。そして、当該周期の遊技進行割込み処理において実行されるべき残りの処理が全て完了してリターンに抜け、制御開始処理(ここでは図13中のS33に対応するループ処理)に戻る。
また、上記ループ処理中に電源電圧の低下が発生した場合、NMI処理に伴い、前述の場合と同様に制御処理は所定のアドレス(0066H)に移行する。そして、電源断確認情報が設定されてリターンに抜け、制御開始処理(ここではループ処理(S33))に戻る。
そして、前述のように電源断確認情報が設定されているか否かが判定される(図13中のS30)。ここで、電源断確認情報が設定されていなければ、ループ処理開始の処理に移行し循環処理(図13中のS33)が継続される。一方、電源断確認情報が設定されていれば、電源断処理(前述のS301〜S307に対応)が実行され、電源断処理の終了後、電源断となる。
また、本実施例においては、ノンマスカブル割込みが発生した場合に、実行中の命令が命令単位で完遂される。例えば、図16中に符号552で示す制御処理(ここではLD(ロード)命令)の実行中にノンマスカブル割込みが発生すると、この制御処理552は当該命令の実行中は継続され、このLD命令の実行が終わってから前述の電源断確認情報が設定される。つまり、電源断確認情報の設定時期は、命令単位の制御処理によって定まり、このような命令を完遂してから電源断確認情報が設定される。
ここで、上述のような命令を含む制御処理は、プログラムモジュール毎の制御処理(本実施例では、例えば制御開始処理(図12,13参照)、遊技進行割込み処理(図14参照)、初期値乱数更新処理(S31,S48)、入力処理(S45)、その他の処理)に限られるものではなく、各種データの設定や算出など(S1〜S10、S41〜S44、その他)といった制御処理も含む概念である。すなわち、遊技進行割込み処理を例に挙げれば、例えば第2再帰情報のセット(S43)の制御処理を構成する特定の命令の実行中にノンマスカブル割込みが発生した場合には、この特定の命令の実行が終わってから電源断確認情報が設定される。そして、この電源断確認情報を設定するための電源断確認情報設定の処理がリターンに抜け、遊技進行割込み処理中の電断発生時の処理に戻る。そして、当該周期の遊技進行割込み処理において実行されるべき残りの処理が全て完了してリターンに抜け、制御開始処理(図13中のS33に対応するループ処理)に戻り、電源断処理(前述のS301〜S307に対応)が実行される。
また、例えば各種乱数更新処理(S46)内の特定の命令の実行中にノンマスカブル割込みが発生した場合にも、この特定の命令の実行が終わってから電源断確認情報が設定される。そして、電源断確認情報設定の処理がリターンに抜け、遊技進行割込み処理中の電断発生時の処理に戻り、当該周期の遊技進行割込み処理において実行されるべき残りの処理が全て完了して制御開始処理に戻り、前述の場合と同様に電源断処理が実行される。
このような制御態様は、遊技中における様々な局面においてノンマスカブル割込みが発生した場合にも同様である。例えば、後述する入賞監視処理(S51)の開始から賞球制御処理(S52)の終了までの間の特定の命令の実行中にノンマスカブル割込みが発生した場合には、この特定の命令の実行が終わってから電源断確認情報が設定される。そして、入賞監視処理(S51)、或いは賞球制御処理(S52)に戻り、当該周期の遊技進行割込み処理において実行されるべき残りの処理が全て完了してリターンに抜け、制御開始処理(図13中のS33に対応するループ処理)に戻り、電源断処理(前述のS301〜S307に対応)が実行される。
さらに、遊技進行割込み処理内の他の制御処理について説明すれば、特別図柄の変動に係る制御処理を規定した特別図柄制御処理(S57)、大当り抽選判定を行う処理を含んだ特別図柄変動開始監視制御処理(S60)、エラー検知及びエラー報知に係る制御処理を規定した異常検知処理(S61)、或いはその他の制御処理において特定の命令の実行中にノンマスカブル割込みが発生した場合にも、その時の命令の実行が終わってから電源断確認情報が設定され、当該周期の遊技進行割込み処理において実行されるべき残りの処理が全て完了してから、電源断処理が実行される。
続いて、NMI入力があってから電源断までの所要時間の管理について説明する。本実施例においては、電源電圧が下がって所定値に達してから電源断となるまでの時間である電源断所要時間は、電源断所要時間設定手段によって設定されている。電源断所要時間設定手段としては、例えば、電源基板251に設けられたコンデンサ等の、放電を制御する機器を利用することが可能である。電源断所要時間は、図17中に符号Mで示すように、電源電圧が正常値(例えば30V)から徐々に下がり始め、電源基板251が電断信号を出力する値である電断信号出力電圧(例えば18V)に達してから、メイン基板102のCPU501に入力される供給電圧である5Vに達するのに要する時間である。本実施例において電源断所要時間Xは、制御開始処理を完遂するのに要する時間A、遊技進行割込み処理を完遂するのに要する時間B、電源断確認情報を設定するのに要する時間C、及び電源断処理を完遂するのに要する時間Dの総和よりも大きく、A+B+C+D<Xの関係が成立するよう設定されている。
また、電源断所要時間は、メイン基板102に従属して各種制御コマンドを受信するサブ基板104が電源断処理を開始するタイミングよりも先に終了するよう設定されている。つまり、ぱちんこ遊技機10の電源がオフする際には、メイン基板102のみでなく、副制御手段であるサブ基板104でも、その制御処理の内容に応じて、電源断に備える電源断処理が実行されるが、サブ基板104で実行される電源断処理の開始タイミングは、メイン基板102において電源断所要時間が経過して、電源断処理が終了した後となっている。なお、サブ基板104のみでなく、例えば払出制御基板54にも同様に、メイン基板102において電源断所要時間が経過した後に、電源断処理を開始するようにしてもよい。また、このようなメイン基板102の電源断所要時間と、副制御手段の電源断処理の開始時期との関係を、払出制御基板54のみに適用してもよい。さらに、サブ基板104及び払出制御基板54以外に、制御機能を有する副制御手段が備えられている場合には、その副制御手段に適用することも可能である。
<<<初期値乱数更新処理>>>
前述の初期値乱数更新処理(S31)においては、普通図柄当り初期値乱数、特別図柄当り図柄初期値乱数、及び特別図柄当りソフト初期値乱数を更新するため、初期値乱数更新テーブルから乱数の更新回数取得し、更新回数分、初期値乱数の更新を行う。乱数の更新回数の取得においては、初期値乱数更新テーブル(図15(a)参照)の左列1行目の欄のデータアドレス(0D10H)の示す内容(乱数個数)を乱数の更新回数とする。なお、ここでは、乱数個数は、普通図柄当り初期値乱数、特別図柄当り図柄初期値乱数、特別図柄当りソフト初期値乱数の3つになる。さらに、更新回数分の初期値乱数の更新の処理においては、更新回数分、初期値乱数更新テーブルの普通図柄当り初期値乱数のアドレス(下位)のデータアドレス(0D13H)を引数として2バイトソフト乱数更新処理(後述する)を実行する。なお、更新回数が2回以上の場合、前回実行した2バイトソフト乱数更新処理で取得した相対アドレスの基準値を引数とする。そして、2バイトソフト乱数更新処理で得られた乱数値を用い、初期値乱数更新処理(S31)における乱数関係値が生成される。
具体的には、相対アドレスの基準値として初期値乱数更新テーブルのアドレスがセットされ、乱数個数として上記基準値の内容がロードされる(言換えれば、上記基準値の内容が組み込まれる)。次に、上記基準値が+1され、乱数個数の退避が行われた後、2バイトソフト乱数更新処理が実行される。さらに、乱数個数の復帰が行われ、乱数個数を−1した結果が0でなければ前述の乱数個数の退避の処理に戻り、0であれば初期値乱数更新処理(S31)を抜ける。
また、初期値乱数更新処理(S31)においては、乱数関係値に異常があった場合に、その乱数関係値の補正が行われる。この乱数関係値の補正の処理においては、2バイトソフト乱数更新処理において得られた乱数値を基にして乱数関係値が生成され、この乱数関係値から所定値を減算する。減算した結果が0であれば、乱数関係値が正常であると判定して乱数関係値をストアするが、0未満の場合、乱数関係値が正常であると判定し、乱数関係値の最大値+1を補正値としてセットし、この補正値を乱数関係値に加算してから、得られた乱数関係値のストアを実行する。これにより、乱数関係値の異常が検出されるとともに、異常であった乱数関係値が補正される。つまり、乱数関係値の補正は、乱数関係値に対する所定の演算を行い、演算結果が所定の値とならなかった場合に、乱数関係値の補正を行うものである。
<<<2バイトソフト乱数更新処理>>>
前述の2バイトソフト乱数更新処理においては、入力された相対アドレスの基準値から乱数の最大値、乱数の格納アドレスを取得し、乱数の更新を行う。乱数の最大値の取得においては、上記基準値+0の示す内容を乱数最大値下位、上記基準値+1の示す内容を乱数最大値上位とする。乱数の格納アドレスの取得においては、上記基準値+2の示す内容を乱数格納アドレス下位とし、RWM先頭上位アドレスを乱数格納アドレス上位とする。乱数の更新においては、乱数を+1し、乱数最大値を超える場合には0にするため、取得した乱数格納アドレスの示す内容から2バイトの乱数を取得し、取得した乱数を+1する。加算した結果、取得した乱数最大値を超えた場合、0をセットする。なお、更新した乱数は、取得した乱数格納アドレスに格納した後、出力する乱数データにセットする。また、上記基準値+3を出力する上記基準値にセットする。
<<遊技進行割込み処理>>
次に、遊技進行割込み用の計時設定(S27)の処理において設定された周期情報に基づき4ms周期で繰返される遊技進行割込み処理について説明する。なお、説明に先立ち、以下で用いる「特別電動役物」、「条件装置」、「役物連続作動装置」の用語について説明する。これらは何れもぱちんこ遊技機10の制御処理における概念上の機器を表しており、これらのうち「特別電動役物」は、第1大入賞口91、第2大入賞口92を作動させることとなるものである。また、「条件装置」は、第1大入賞口91や第2大入賞口92に進入した遊技球が検出された場合に作動するものであり、「役物連続作動装置」は、特別電動役物を連続して複数回作動させることができるものである。
図14に示すように、遊技進行割込み処理においては、割込み動作条件の設定(S41,S42)、割込み処理時間監視手段の再帰(S43)、遊技機の管理(S45〜S70)、割込みの許可(S71)を順に行い、遊技進行割込みが発生する前の処理に復帰させる。
具体的には、割込み動作条件の設定の処理(S41,S42)においては、割込みフラグをクリアするため、割込み動作条件設定値が、遊技進行割込み制御レジスタに格納され(S41)、割込み動作条件設定値が、所定の入力端子に対応した制御レジスタにセットされる(S42)。この後、第2再帰情報がセットされ(S43)、更に第2再帰情報が割込み処理時間監視手段レジスタにセットされる(S44)。第2再帰情報は、後述するように、先にセットされた第1再帰情報とともに、割込み処理時間監視手段の監視用計時を再帰させてリスタートさせるための条件となるものである。
遊技機の管理(S45〜S70)においては、遊技機の管理を行うため、以下の処理を順に実行する。先ず、特定の信号の入力を監視するため、入力処理(S45)を実行する。ここで監視の対象となっているのは、遊技盤面に取り付けられている各種スイッチ、受け皿満タンスイッチ、開放信号、磁気検知信号、電波検知信号、ガラス未検出信号、及び断線短絡電源異常検知信号である。
続いて、各種乱数更新処理(S46)を実行し、普通図柄変動パターン乱数、及び変動パターン乱数を更新する。さらに、初期値更新型乱数更新処理(S47)を実行し、普通図柄当り乱数、特別図柄当り図柄乱数、及び特別図柄当りソフト乱数を更新する。次に、初期値乱数更新処理(S48)を実行し、普通図柄当り初期値乱数、特別図柄当り図柄初期値乱数、及び特別図柄当りソフト初期値乱数を更新する。また、2バイトタイマの更新を行うため、タイマ減算処理(S49)を実行し、第2始動入賞口63の有効期間を設定するため、第2始動口の有効期間設定処理(S50)を実行する。
さらに、入賞監視処理(S51)が実行され、賞球を払い出す回数の記憶、盤用外部情報の出力要求の作成、及びサブ基板104に送信するコマンドの送信要求が行われる。続いて、払出制御基板45を制御するため、賞球制御処理(S52)を実行する。
次に、遊技球が普通図柄作動ゲート(作動口68a,68b)を通過したとき、普通図柄に係る乱数を記憶するため、普通図柄作動ゲート監視処理(S53)を実行し、普通図柄表示装置又は普通図柄電動役物に係る処理を行うため、普通図柄制御処理(S54)を実行する。さらに、普通図柄の変動開始の監視を行うため、普通図柄変動開始監視処理(S55)を実行する。また、遊技球の第1始動入賞口62及び第2始動入賞口63の入賞の監視を行うため、始動口監視制御処理(S56)を実行し、第1特別図柄表示装置70又は第2特別図柄表示装置71に係る処理を行うため、特別図柄制御処理(S57)を実行する。続いて、特別電動役物に係る処理を行うため、特別電動役物制御処理(S58)を実行し、第1大入賞口91又は第2大入賞口92の有効期間に係る処理を行うため、大入賞口有効期間設定処理(S59)を実行し、第1特別図柄192及び第2特別図柄193の変動開始の監視を行うため、特別図柄変動開始監視制御処理(S60)を実行する。
次に、磁気の監視、断線・短絡・電源の監視、電波の監視、ガラス枠セット・遊技盤の枠の開閉状態の監視、及びペアガラスの監視を行うため、異常検知処理(S61)を実行し、入球通過時間異常の検出を行うため、入球通過時間異常検出処理(S62)を実行する。さらに、特別電動役物が連続して作動する回数、エラー状態、普通図柄表示装置の作動保留球数、及び特別図柄表示装置の作動保留球数の表示要求を行うため、遊技状態表示処理(S63)を実行し、発射ハンドル17のタッチ状態(操作量の状態を含む)の監視を行うため、ハンドル状態信号検査処理(S64)を実行する。また、特別図柄の表示、普通図柄の表示、特別図柄表示装置(70,71)の作動保留球数の表示、普通図柄表示装置の作動保留球数の表示、遊技状態の表示、特別電動役物が連続して作動する回数の表示、及びエラーの表示を行うため、LED出力処理(S65)を実行する。
続いて、遊技球の発射の禁止/許可の信号を出力するため、発射制御信号出力処理(S66)を実行し、試験装置に出力する信号を作成し出力するため、試験信号出力処理(S67)を実行する。さらに、普通電動役物ソレノイド、第1大入賞口開放ソレノイド、及び第2大入賞口開放ソレノイドの出力データの出力を行うため、ソレノイド出力処理(S68)を実行し、演出制御コマンドを送信するため、演出制御コマンド送信処理(S69)を実行し、外部端子(外部中継端子基板49(図2参照)の各種外部出力端子)に信号を出力するため、外部情報出力処理(S70)を実行する。
この後、割込み許可(S71)が実行され、制御処理がリターン(RET)に抜ける。そして、次回の遊技割込みが実行されるまでの残余時間を利用して、制御開始処理の前述の循環処理(S28〜S32)が実行される。
<<<入力処理>>>
入力処理(S45)は、スイッチ入力に係る制御モジュールであり、この入力処理(S45)においては、遊技盤面に取り付けられている各スイッチや、断線短絡電源異常検知信号、開放信号、電波検知信号、及び、タッチ状態信号の各種信号の入力を監視するため、入力情報テーブルから検査回数、入力ポートアドレス、レベルマスクデータ、レベルアドレス、立ち上りマスクデータを取得し、スイッチ入力を検査回数分行う。
検査回数、入力ポートアドレス、レベルマスクデータ、レベルアドレス、立ち上りマスクデータの取得においては、入力情報テーブルのアドレス(入力情報テーブル+0)が示す内容を検査回数とし、入力情報テーブル+1から入力ポートアドレス、レベルマスクデータ、レベルアドレス、立ち上りマスクデータを検査回数分取得する。
スイッチ入力においては、取得した入力ポートのレベルデータを作成した後、取得した立ち上がりマスクデータが0以外の場合、立ち上がりデータを作成する。レベルデータの作成においては、取得したレベルマスクデータが示すビットの状態を、取得した入力ポートから所定期間(例えば5μs)以上の間隔を開けて、所定回数(例えば5回)連続で読み込み、5回の読み込みが全て一致したビットを今回のレベルデータとして、取得したレベルアドレスに格納する。レベルデータの上位アドレス(レベル上位アドレス)はRWM先頭上位アドレス(0F0H)としている。また、5回の読み込みで1回も一致しなかったビットとしては、前回のレベルデータを格納する。
立ち上がりデータの作成においては、取得した立ち上がりマスクデータが示すビットの立ち上がりデータを作成するため、今回と前回のレベルデータの排他的論理和を演算し、排他的論理和の結果と今回のレベルデータの論理積を演算する。さらに、作成した立ち上がりデータと、取得した立ち上がりマスクデータの論理積を演算し、この論理積の結果を取得したレベルアドレスのアドレスに+1したアドレスの領域に格納する。
<<<各種乱数更新処理>>>
各種乱数更新処理(S46)においては、普通図柄変動パターン乱数及び変動パターン乱数を更新する。普通図柄変動パターン乱数の更新においては、普通図柄変動パターン乱数を+1し、最大値(ここでは232)を超える場合は0にするため、普通図柄変動パターン乱数の下位アドレス及び普通図柄変動パターン乱数最大値+1(ここでは223)を引数としてRWM更新処理を実行する。変動パターン乱数の更新においては、変動パターン乱数を更新するため、変動パターン乱数の値から所定値(ここでは3511)を減算する。減算した結果が0未満の場合、減算した結果に変動パターン乱数最大値+1(ここでは50000)を加算する。演算した結果は、変動パターン乱数に格納する。
<<<初期値更新型乱数更新処理>>>
初期値更新型乱数更新処理(S47)においては、普通図柄当り乱数、特別図柄当り図柄乱数、及び特別図柄当りソフト乱数を更新するため、初期値更新型乱数更新テーブル(図15(b)参照)から更新する乱数の数、乱数の最大値、初期値更新型乱数のアドレス、初期値ワークのアドレスを取得し、初期値更新型乱数の更新を行う。
更新する乱数の数、乱数の最大値、初期値更新型乱数のアドレス、及び初期値ワークのアドレスの取得においては、初期値更新型乱数更新テーブルの左列1行目の欄のデータアドレス(0D30H)の示す内容(乱数個数)を更新する乱数の数とし、初期値更新型乱数更新テーブルの左列2行目の欄以降から乱数の最大値、初期値更新型乱数のアドレス、及び初期値ワークのアドレスを、更新する乱数の数分、順次取得する。
初期値更新型乱数の更新においては、初期値更新型乱数を+1し、最大値を超える場合は0にするため、初期値更新型乱数更新テーブル内の初期値更新型乱数の最大値が記載されているアドレスを引数として、2バイトソフト乱数更新処理を実行する。実行の結果、更新した初期値更新型乱数の値が取得した初期値ワークの内容と一致した場合、初期値更新型乱数の初期値を更新するため、取得した初期値ワークのアドレスから2行下のアドレス(0D37H),3行下のアドレス(0D38H)が示す初期値乱数の内容を新しい初期値とし、取得した初期値更新型乱数のアドレス及び取得した初期値ワークのアドレスに格納する。
<<<初期値乱数更新処理>>>
初期値乱数更新処理については、制御開始処理で実行される初期値乱数更新処理と同じプログラムモジュールが用いられているが、乱数関係値の更新の周期が遊技進行割込みの周期(ここでは4ms)となる点で、制御開始処理中に実行される場合とは異なっている。
<<<タイマ減算処理>>>
タイマ減算処理(S49)においては、2バイトタイマの更新を行うため、2バイトタイマ更新テーブルのアドレス(2バイトタイマ更新テーブルのアドレス+0)の内容をタイマ数とし、次のアドレス(2バイトタイマ更新テーブルのアドレス+1)からタイマ数分、2バイトタイマの下位アドレスの取得を行う。また、取得した2バイトタイマの検査を行い、検査の結果、2バイトタイマの値が0以外の場合、2バイトタイマの更新(2バイトタイマの内容−1)を行う。検査の結果、2バイトタイマの値が0の場合、2バイトタイマの更新は行わない。
<<<始動口2有効期間設定処理>>>
始動口2の有効期間設定処理(S50)においては、第2始動入賞口63の有効期間を設定するため、普通図柄ステイタス(後述する)の値及び始動口2有効延長タイマの値に対応した値を始動口2有効期間フラグ(の記憶領域)に格納する。普通図柄ステイタスの値、及び、始動口2有効延長タイマの値に対応した始動口2有効期間フラグに格納する値の関係は、普通図柄ステイタスの値が普通電動役物作動中を示す3である場合、始動口2有効延長タイマの値は何も設定されず、始動口2有効期間フラグに格納する値として所定の始動口2有効期間データ(1)が用いられる。一方、普通図柄ステイタスの値が普通電動役物作動中以外の値を示す場合、始動口2有効延長タイマの値が0でなければ、始動口2有効期間フラグに格納する値として所定の始動口2有効期間データ(1)が用いられる。また、普通図柄ステイタスの値が普通電動役物作動中以外の値を示す場合、始動口2有効延長タイマの値が0であれば、始動口2有効期間フラグに格納する値として所定の始動口2無効期間データ(0)が用いられる。
<<<入賞監視処理>>>
入賞監視処理(S51)においては、賞球を払出す回数の記憶、外部端子(前述の外部中継端子基板49(図2参照)の各種外部出力端子)へ出力するセキュリティの出力要求の作成、及び、演出制御基板(ここではサブメイン基板301)に送信するコマンドの送信要求を行うため、入賞監視テーブルのアドレス(入賞監視テーブル+0)の示す内容を検査回数とし、検査回数分、遊技球のスイッチ通過検査を行う。スイッチ通過検査の結果、遊技球がスイッチを通過したと判断した場合、賞球回数の記憶、外部端子へ出力するセキュリティの出力要求の作成、及び、コマンドの送信要求を行う。ここで、入賞監視テーブルの構成は、検査回数、及び、各種遊技球検出装置(遊技球スイッチ)の検査データからなり、検査データの構成は、スイッチビットデータ、EVENTデータ、MODEデータ、賞球判定データ、無効期間有無判定データからなる。
<<<賞球制御処理>>>
賞球制御処理(S52)においては、払出制御基板45を制御するため、払出制御基板45からのデータ受信の監視、払出制御基板45へのコマンド送信要求、払出制御基板45へのコマンド送信及び払出制御基板45からの受信データ検査を順に行う。払出制御基板45からのデータ受信の監視においては、データ受信監視処理を実行する。払出制御基板45へのコマンド送信要求においては、払出コマンド要求処理を実行する。払出制御基板45へのコマンド送信及び払出制御基板45からの受信データ検査においては、払出コマンド制御処理を実行する。
<<<普通図柄作動ゲート監視処理>>>
普通図柄作動ゲート監視処理(S53)においては、遊技球の普通図柄作動ゲート(ここでは作動口68a,68b)通過を監視し、普通図柄作動ゲートを通過していると判断した場合には、普通図柄作動保留球数(普通図柄の保留数)の更新を行う。更新の結果、普通図柄作動保留球数の値が最大数である4未満のときに遊技球の通過を確認した場合、普通図柄に係る乱数の記憶を行う。
<<<普通図柄制御処理>>>
普通図柄制御処理(S54)においては、普通図柄表示装置59又は普通電動役物に係る処理を行うため、普通図柄の状態を監視し、普通図柄制御中と判断した場合に、普通図柄表示装置59又は普通電動役物に係る処理を実行する。普通図柄の状態の監視においては、前述の普通図柄ステイタスが0の以外の場合、普通図柄制御中と判断する。普通図柄制御処理中、普通図柄ステイタスの値は1〜4をとり、各普通図柄ステイタス1〜4において対応する制御モジュールが実行される。そして、普通図柄ステイタス1は普通図柄変動中、普通図柄ステイタス2は普通図柄停止図柄表示中、普通図柄ステイタス3は普通電動役物作動中、普通図柄ステイタス4は普通電動役物作動終了デモ中に対応している。
<<<普通図柄変動開始監視処理>>>
普通図柄変動開始監視処理(S55)においては、普通図柄の作動状態を監視し、普通図柄の変動を開始させると判断した場合、普通図柄作動保留球数の更新、当り判定、停止図柄の決定、普通図柄の変動設定を行う。普通図柄の作動状態の監視においては、普通図柄ステイタスの値が、普通図柄変動待機中を示す0の場合、かつ、普通図柄作動保留球数の値が0以外の場合、普通図柄の変動を開始させると判断する。普通図柄作動保留球数の更新においては、普通図柄作動保留球数の内容を−1する。当り判定、停止図柄の決定においては、普通図柄当り判定処理を実行する。普通図柄の変動設定においては、普通図柄変動パターン番号の設定、普通図柄の変動時間の設定の後、普通図柄の状態設定及び当り判定、変動パターン決定に使用したRWMのクリアを行う。
普通図柄変動パターン番号の設定においては、確率変動機能検査処理を実行し、実行の結果、取得した普通確変作動データ及び普通図柄変動制御テーブルのアドレスを引数としてバイトデータ取得処理を実行する。実行の結果、取得した基底アドレスと取得した1バイトデータを加算して算出したアドレス及び普通図柄変動パターン判定領域の値を引数として1バイト選択番号取得処理を実行する。実行の結果、取得した選択番号を普通図柄変動パターン番号とする。普通図柄の変動時間の設定においては、普通図柄変動時間テーブルアドレスを基準として(−2して)得た値及び普通図柄変動パターン番号を引数として1バイト選択番号取得処理を実行する。実行の結果、取得した2バイトデータを普通図柄タイマに格納する。普通図柄の状態設定及び当り判定、変動パターン決定に使用したRWMのクリアにおいては、普通図柄の状態を普通図柄変動中にするため、普通図柄変動中状態設定テーブルのアドレスを引数としてデータ格納処理を実行する。また、当り判定に使用した普通図柄当り判定領域及び変動パターンの決定に使用した普通図柄変動パターン判定領域を0でクリアする。
<<<始動口監視制御処理>>>
始動口監視制御処理(S56)においては、遊技球の始動口1(第1始動入賞口62)入賞及び始動口2(第2始動入賞口63)入賞の監視を行う。始動口1及び始動口2の何れについても、対応する監視テーブル(始動口1監視テーブル又は始動口2監視テーブル)を用いて始動口監視処理が実行されるが、始動口2については、始動口2有効期間フラグの値を検査し、検査の結果、始動口2有効期間フラグの値が所定の始動口2有効期間データである場合に、始動口監視処理が実行される。
<<<特別図柄制御処理>>>
特別図柄制御処理(S57)においては、当り待ちの状態の検査を行い、当り待ちの状態と判断した場合、特別図柄表示装置1(第1特別図柄表示装置70)又は特別図柄表示装置2(第2特別図柄表示装置71)に係る処理を実行する。当り待ち状態の検査においては、特電遊技ステイタス(後述する)の値が0の場合、当り待ちの状態であると判断する。特別図柄表示装置1又は特別図柄表示装置2に係る処理においては、特別図柄表示装置1又は特別図柄表示装置2に係る処理の何れかを行うため、特図2遊技ステイタスの値を検査する。検査の結果、0の場合、特別図柄表示装置1に係る処理を行うと判断し、0以外の場合、特別図柄表示装置2に係る処理を行うと判断する。特別図柄表示装置1に係る処理、及び、特別図柄表示装置2に係る処理の各々においては、対応する特図遊技ステイタス(特図1遊技ステイタス又は特図2遊技ステイタス)のアドレス及び特図制御テーブル(特図1制御テーブル又は特図2制御テーブル)のアドレスを引数として特別図柄制御汎用処理を実行する。
<<<特別電動役物制御処理>>>
特別電動役物制御処理(S58)においては、特別電動役物に係る処理を行うため、条件装置及び特別電動役物の作動状態を検査し、条件装置が作動中又は特別電動役物が作動中と判断した場合、特別電動役物に係る処理を実行する。条件装置及び特別電動役物の作動状態の検査においては、特電遊技ステイタスの値が0以外の場合、条件装置が作動中又は特別電動役物が作動中と判断する。条件装置が作動中又は特別電動役物が作動中、特電遊技ステイタスの値は1〜8をとり、各特電遊技ステイタス1〜8において対応する制御モジュールが実行される。そして、特電遊技ステイタス1は大入賞口開放準備中、特電遊技ステイタス2は特別電動役物作動中、特電遊技ステイタス3は大入賞口閉鎖中、特電遊技ステイタス4は大当り終了デモ中に対応している。
<<<大入賞口有効期間設定処理>>>
大入賞口有効期間設定処理(S59)においては、大入賞口有効期間バッファの値に対応した値を大入賞口有効期間フラグに格納する。例えば、大入賞口有効期間バッファの値が0の場合、大入賞口無効期間データを大入賞口有効期間フラグに格納し、大入賞口有効期間バッファの値が0以外の場合、大入賞口有効期間データを大入賞口有効期間フラグに格納する。本実施例では、大入賞口として第1大入賞口91及び第2大入賞口92を備えているが、何れについても同様の制御処理を適用することが可能である。
<<<特別図柄変動開始監視制御処理>>>
特別図柄変動開始監視制御処理(S60)においては、特別図柄1(ここでは第1特別図柄192)及び特別図柄2(ここでは第1特別図柄192の変動開始の監視を行う。特別図柄1及び特別図柄2の何れにおいても、特図遊技ステイタス(特図1遊技ステイタス又は特図2遊技ステイタス)のアドレス及び特図変動開始監視テーブル(特図1変動開始監視テーブル又は特図2変動開始監視テーブル)のアドレスを引数として特別図柄変動開始監視処理を実行する。
<<<異常検知処理>>>
異常検知処理(S61)においては、磁気の監視、断線・短絡・電源の監視、電波の監視、ガラス枠セット・遊技盤の枠・裏セット(ここではセット基盤39)の開閉状態の監視等を行うためエラー判定値の作成を行う。その後、エラー状態の検査、エラー状態の記憶、及び、演出制御基板(ここではサブメイン基板301)への遊技機のエラー状態演出の表示要求を順に行う。なお、エラー状態の検査でエラー状態に変化無しと判断した場合、エラー状態の記憶、及び、演出制御基板への遊技機のエラー状態演出の表示要求は行わない。
エラー判定値の作成においては、エラー判定値を作成するため、磁気検知信号の検査、断線短絡電源異常検知信号の検査、電波検知信号の検査、及び、開放信号の検査を順に行う。ただし、これらの検査に使用する検査データは、受信信号レベルの値とエラーフラグの値を排他的論理和した結果に通信異常マスクデータで論理積した値としている。エラー状態の検査においては、エラー状態の検査を行うため、エラーフラグ比較値とエラーフラグの値を比較し、一致した場合、エラー状態に変化無しと判断する。なお、エラーフラグの比較値は、エラー判定値の作成で作成したエラー判定値のビット0に通信線異常判定の値のビット0を反映した値としている。エラー状態の記憶においては、エラー状態の検査で作成したエラーフラグ比較値をエラーフラグに格納する。演出制御基板への遊技機のエラー状態演出の表示要求においては、MODE(エラーA)データ、及び、エラー状態の検査で作成したエラーフラグ比較値を引数としてコマンド要求設定処理を実行する。
<<<入球通過時間異常検出処理>>>
入球通過時間異常検出処理(S62)においては、入球通過時間異常の検出を行うため、各スイッチ(各入賞検出装置)レベルの連続オン時間の監視を行い、監視の結果、前回から変化があったと判断した場合、入球通過時間異常の設定、コマンドの送信要求、外部端子へ出力するセキュリティの出力要求の作成を順に行う。ただし、各スイッチレベルの連続オン時間の監視で、連続オン時間が異常ではないと判断した場合、外部端子へ出力するセキュリティの出力要求の作成は行わない。
各スイッチレベルの連続オン時間の監視においては、各スイッチレベルの連続オン時間の監視を行うため、連続スイッチテーブルのアドレスの示す内容を検査回数とし、検査回数分、スイッチビットデータを順次取得する。取得した各スイッチビットデータに対応したタイマアドレスの取得、スイッチレベルのオン時間の計測を行い、連続オン時間が異常と判断した場合、各スイッチビットデータに対応したアドレスに記憶されたEVENTデータの取得を行う。連続オン時間が異常ではないと判断した場合、EVENT(エラーB0)データ(00H)を設定する。なお、取得したEVENTデータと入球通過時間異常フラグ(後述する)の値が異なる場合、前回から変化があったと判断する。入球通過時間異常の設定においては、EVENTデータを入球通過時間異常フラグに格納する。コマンドの送信要求においては、MODE(エラーB)データ(9EH)及びEVENTデータを引数としてコマンド要求設定処理を実行する。外部端子へ出力するセキュリティの出力要求の作成においては、異常センサ検知タイマのアドレス+1を引数として信号出力要求処理を実行する。
<<<遊技状態表示処理>>>
遊技状態表示処理(S63)においては、特別電動役物が連続して作動する回数、エラー状態、普通図柄表示装置の作動保留球数、及び、特別図柄表示装置の作動保留球数の表示要求を行うため、特別電動役物が連続して作動する回数の表示データ作成、エラー状態の表示データ作成、普通図柄表示装置の作動保留球数の表示データ作成、及び、特別図柄表示装置の作動保留球数の表示データ作成を行う。
特別電動役物が連続して作動する回数の表示データ作成においては、特別電動役物が連続して作動する回数の表示データを作成するため、最大作動回数比較テーブルのアドレスから検査回数を取得する。取得した検査回数分、最大作動回数比較テーブルの最終ラウンドデータと大入賞口最大開放回数の値を順次比較し、一致した場合、一致した時の検査回数を特別電動役物が連続して作動する回数の表示データとして特電作動回数表示番号の領域に格納する。全て一致しなかった場合、0を表示データとして特電作動回数表示番号の領域に格納する。
エラー状態の表示データ作成においては、エラー状態の表示データを作成するため、状態表示灯1及び状態表示灯2の表示データの作成並びに主制御エラー表示灯の表示データの作成を行う。普通図柄表示装置の作動保留球数の表示データ作成、及び、特別図柄表示装置の作動保留球数の表示データ作成においては、作動保留球数更新テーブルのアドレスの示す内容を更新回数として、更新回数分、作動保留球数の下位アドレス及び点滅タイマの下位アドレスを順次取得し、点滅タイマの更新及び表示パターン番号の作成を行う。
<<<ハンドル状態信号検査処理>>>
ハンドル状態信号検査処理(S64)においては、発射ハンドル17のタッチ状態の監視を行うため、ハンドル状態の検査を行い、検査の結果、ハンドル状態に変化ありと判断した場合、ハンドル状態監視タイマの減算、ハンドル状態の更新、ハンドル状態監視タイマの設定、及び、ハンドル状態演出のコマンド送信要求を行う。検査の結果、ハンドル状態に変化なしと判断した場合、ハンドル状態監視タイマの設定を行う。なお、ハンドル状態監視タイマの減算において、ハンドルタイマ減算中と判断した場合、ハンドル状態に関する以降の処理は行わない。
ハンドル状態の検査においては、ハンドル状態の検査を行うため、受信信号レベルの値及びハンドル状態フラグの値を検査する。そして、受信信号レベルの値を示すビットが0で、ハンドル状態フラグの値が00Hの場合、ハンドル状態に変化なしと判断し、ハンドル状態フラグの値が01Hの場合、ハンドル状態に変化ありと判断する。また、受信信号レベルの値を示すビットが1で、ハンドル状態フラグの値が00Hの場合、ハンドル状態に変化ありと判断し、ハンドル状態フラグの値が01Hの場合、ハンドル状態に変化なしと判断する。
ハンドル状態監視タイマの減算においては、ハンドル状態監視タイマの減算を行うため、ハンドル状態監視タイマの内容を−1する。減算の結果、0以外の場合、タイマ減算中と判断する。ハンドル状態の更新においては、ハンドル状態の更新を行うため、ハンドル状態フラグの値に対応した値をハンドル状態フラグに格納する。ハンドル状態フラグの値が00Hの場合、ハンドル状態フラグに格納する値は01Hとなり、ハンドル状態フラグの値が01Hの場合、ハンドル状態フラグに格納する値は00Hとなる。
ハンドル状態監視タイマの設定においては、ハンドル状態監視タイマの設定を行うため、ハンドル状態監視タイマにハンドル状態監視時間を格納する。ハンドル状態演出のコマンド送信要求においては、ハンドル状態演出のコマンド送信要求を行うため、MODE(ハンドル状態情報)データと、所定の値である7FHを論理積した結果、及び、ハンドル状態フラグの下位アドレスを引数としてコマンド要求設定処理を実行する。
<<<LED出力処理>>>
LED出力処理(S65)においては、特別図柄の表示、普通図柄の表示、特別図柄表示装置の作動保留球数の表示、普通図柄表示装置の作動保留球数の表示、遊技状態の表示、特別電動役物が連続して作動する回数の表示、役物連続作動装置未作動時の特別電動役物置の作動状態の表示、(右打ちや左打ちの)打ち分け表示、及び、エラー表示を行うため、表示の初期化、表示データの出力を順次行う。
表示の初期化においては、表示を初期化するため、クリアデータをセグメント出力ポートへ出力する。表示データの出力においては、表示データを出力するため、表示するデータに対応したデジットを出力した後、表示するデータを出力する。表示するデータに対応したデジットを出力するため、デジットカウンタの更新後、デジットのデータ出力を取得し、取得した出力データを出力する。なお、本実施例では、7セグ表示体に表示するデータ出力にあたっては、遊技の状況に応じて7セグデコーダが用いられる。そして、このLED出力処理で出力されるデータには、7セグ表示体の各セグメントのオン・オフを示すセグメントデータや、7セグデコーダへ送信されるパターンデータなどが含まれるが、7セグ表示体を制御するための構成や、より具体的な制御態様については後述する。
<<<発射制御信号出力処理>>>
発射制御信号出力処理(S66)においては、遊技球の発射の禁止/許可の信号を出力するため、払出制御基板45との通信状態及び断線短絡電源異常に対応した発射の禁止/許可の設定及び発射の禁止/許可の出力データの取得後、発射の禁止/許可の信号の出力を行う。払出制御基板45との通信状態及び断線短絡電源異常に対応した発射の禁止/許可の設定及び発射の禁止/許可の出力データの取得においては、ビット設定要求を反映したフラグを作成し、出力データを取得する。
ビット設定要求を反映したフラグの作成においては、エラーフラグの通信異常ビット又はエラーフラグの断線短絡電源異常ビットがオンの場合、ビットクリア要求ありとフラグに反映し、それ以外の場合、ビットセット要求ありとフラグに反映する。出力データの取得においては、ビット設定要求を反映したフラグ、デジット等バッファのアドレス、及び、発射許可信号ビットデータを引数としてビットデータ設定処理を実行する。実行の結果、取得したビットデータを出力データとする。発射の禁止/許可の信号の出力においては、発射の禁止/許可の信号を出力するため、取得した出力データをデジット等出力ポートへ出力する。
<<<試験信号出力処理>>>
試験信号出力処理(S67)においては、試験装置に出力する信号を作成し、対応した出力ポートに出力する。複数の試験信号出力ポートのうち、試験信号出力ポート1は、各特別図柄の変動中、大当り、役物連続作動装置作動中、条件装置作動中の信号を対応付けられた各端子から出力する。試験信号出力ポート2は、普通電動役物開放延長状態、普通図柄変動時間短縮状態、普通図柄高確率状態、特別図柄変動時間短縮状態、特別図柄高確率状態の信号を対応付けられた各端子から出力する。試験信号出力ポート3は、普通電動役物作動中信号、普通図柄変動中信号、普通図柄当り信号、特別電動役物作動中信号を対応付けられた各端子から出力する。各試験信号出力ポート1〜3に出力する信号の作成のため、試験信号データテーブル1〜3のうち対応する試験信号データテーブルのアドレスを引数として出力データ作成処理を行う。
試験信号出力ポート5は、遊技機エラー状態、発射位置指定、図柄データの信号を対応付けられた各端子から出力する。試験信号出力ポート5に出力する信号の作成においては、普通図柄組合せ番号の下位2ビットを図柄データのビット0,1とする。また、試験端子エラー出力マスクデータを引数としてエラー検査処理を実行する。実行の結果、エラー検出ありの場合、遊技機エラー中と判断し、遊技機エラー状態信号のオンを作成する。それ以外の場合、遊技機エラー状態信号のオフを作成する。打ち分け状態フラグの値が0の場合、発射位置指定信号1〜3のオフを作成する。それ以外の場合は、発射位置指定信号1のオン、発射位置指定信号2及び発射位置指定信号3のオフを作成する。試験信号出力ポート6及び試験信号出力ポート7は、図柄データの信号を対応付けられた各端子から出力する。
<<<ソレノイド出力処理>>>
ソレノイド出力処理(S68)においては、普通電動役物ソレノイド及び大入賞口開放ソレノイドの出力データの出力を行うため、普通電動役物ソレノイドの出力データの取得、大入賞口開放ソレノイドの出力データの取得、及び、出力データの出力を行う。普通電動役物ソレノイドの出力データの取得、及び、大入賞口開放ソレノイドの出力データの取得においては、それぞれ、ソレノイド作動フラグ及びソレノイド作動タイマの取得、出力データの取得、ソレノイド作動タイマの更新を順に行う。出力データの出力においては、取得した普通電動役物ソレノイドの出力データ、及び、大入賞口開放ソレノイドの出力データの論理和の結果をソレノイド出力ポートへ出力する。
<<<演出制御コマンド送信処理>>>
演出制御コマンド送信処理(S69)においては、演出制御基板へ送信するコマンドの送信要求を検査し、送信要求があると判断した場合、要求するコマンドデータを取得し、使用したコマンドバッファのクリアを行い、取得したコマンドデータに対応したMODEデータの取得、MODEデータの出力、MODEデータの保持、取得したコマンドデータに対応したEVENTデータの取得、EVENTデータの出力を順次行う。コマンドデータの送出タイミングは、演出データストローブにより規定され、演出データストローブ信号のオン時間(ここでは2μs以上)の後の所定時間(ここでは46μs以上)が演出データ保持時間となっている。
コマンドの送信要求の検査においては、コマンド要求書き込み位置(領域)の値とコマンド要求読み込み位置(領域)の値を比較し、値が一致しない場合、コマンドの送信要求があると判断する。要求するコマンドデータの取得においては、コマンド要求読み込み位置に格納されたアドレス算出値と位置補正ビットデータの論理積の2倍値とコマンドバッファのアドレスを加算し、加算の結果、取得したアドレスの内容をコマンドデータとする。なお、コマンド要求読み込み位置に格納されたアドレス算出値の取得後、コマンドデータの読み込み位置の内容を更新するため、コマンド要求読み込み位置を+1する。コマンドバッファのクリアにおいては、コマンドバッファをクリアするため、取得したコマンドデータが格納されていたコマンドバッファを0でクリアする。
取得したコマンドデータに対応したMODEデータの取得においては、取得したコマンドデータ上位をMODEデータとする。MODEデータの出力においては、取得したMODEデータを演出コマンド出力ポートに出力した後、演出データストローブを出力するため、ストローブ出力処理を実行する。MODEデータの保持においては、MODEデータの保持のため、所定時間(ここでは46μs以上)ウェイトする。取得したコマンドデータに対応したEVENTデータの取得においては、取得したコマンドデータ下位をEVENTデータとする。EVENTデータの出力においては、取得したEVENTデータを前述のものと同じ演出コマンド出力ポートに出力した後、演出データストローブを出力するため、ストローブ出力処理を実行する。
<<<外部情報出力処理>>>
外部情報出力処理(S70)においては、外部入力端子に出力する信号を作成し、作成した信号の出力を行う。外部情報出力ポートの構成には、外部情報1〜外部情報6、及び、セキュリティを含み、残りの一つのビットは未使用である。外部情報1、外部情報3〜外部情報6の作成においては、外部情報データテーブルのアドレスを引数として出力データ作成処理を実行する。
外部情報2の作成においては、外部情報2を作成するため、始動口情報タイマの所定のビットの検査を行い、検査の結果、始動口情報タイマの所定のビットのオン/オフに合わせて外部情報2のオン/オフを作成する。セキュリティの作成においては、外部情報エラー出力マスクデータを引数としてエラー検査処理を実行する。実行の結果、エラー検出あの場合、出力データのセキュリティビットのオンを作成する。それ以外の場合、出力データのセキュリティビットのオフを作成する。作成した信号の出力においては、作成した外部情報1〜外部情報6及びセキュリティを外部情報出力ポートに出力する。
<<メイン基板における割込み>>
次に、メイン基板102における割込みについて説明する。メイン基板102においてはマスカブル割込みとノンマスカブル割込みが行われ、このうちマスカブル割込みはPT0Iによるものである。PT0Iによるマスカブル割込みは、システムクロックを分周して4msの割込み周期を実現しており、この割込み周期で前述の遊技進行割込み処理(PTC0割込み処理)を実行させる。
一方、ノンマスカブル割込みは、メイン基板102が電源断を検知して電断信号を出力し、この電断信号がノンマスカブル割込み端子504に入力されると発生する。
遊技進行割込み処理は、割込み処理時間監視手段により監視されており、この割込み処理時間監視手段が、CPU501のプログラム管理エリアの機能設定に設定されたタイムアウト時間内に初期化されてリスタートすることができない場合は、タイムアウトとなって前述のユーザリセットが発生する。そして、前述のようにCPU501のコアがリセットされ、制御開始処理が実行される。割込み処理時間監視手段のリスタートは、制御開始処理内の循環処理中と、遊技進行割込み処理中のそれぞれで再帰情報が設定されて内蔵タイマが初期化されると実行される。
<<メイン基板における乱数>>
次に、メイン基板102において用いられる乱数について説明する。本実施例における乱数は、役物作動に係る乱数と、遊技の用に供されるその他の乱数に分かれる。役物作動に係る乱数には、普通図柄当り乱数、普通図柄当り初期値乱数、特別図柄当り乱数、特別図柄当りソフト乱数、特別図柄当りソフト初期値乱数、特別図柄当り図柄乱数、及び特別図柄当り図柄初期値乱数の7種類がある。
普通図柄当り乱数は、普通図柄表示装置の抽選に使用する乱数である。乱数の値は「0〜282」をとり、乱数の大きさは283である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻し、乱数が1周した場合は、その時の普通図柄当り初期値乱数の値を普通図柄当り乱数の値とするものである。更新時期は、遊技進行割込み毎であり、遊技進行割込み毎に1回更新される。取得時期は、作動口68a,68bの通過検出装置69a,69bにより遊技球の通過を検出した時である。当せんすることとなる乱数値の数は、低確率の場合と高確率の場合で異なり、低確率時は11個、高確率時は282個である。
普通図柄当り初期値乱数は、普通図柄当り乱数の初期値、及び普通図柄当り乱数の終了値を決定するための乱数である。乱数の値は「0〜282」をとり、乱数の大きさは283である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻すものである。更新時期は、遊技進行割込み毎であり、また、遊技進行割込みを実行していない間も更新がされる。
特別図柄当り乱数は、CPU501の乱数回路の所定のチャネル(ここでは「chA」と例示する)で生成した乱数(ハードウエア乱数)をソフトウエアで取り込んで取得し、特別図柄表示装置(70,71)の抽選に使用する乱数である。乱数の値は「0〜065535」をとり、乱数の大きさは65536である。更新方法は、CPU501のRCK(乱数用クロック)端子に入力された水晶発振器の2クロックで1回更新するものである。乱数のスタート値としては、本実施例ではCPU501のIDナンバーを基にした値が設定されおり、電源のオン(またはオフ)に伴って実行されるシステムリセット毎に変更される。乱数列の変更方法としては、本実施例では乱数列が一巡する度に、自動的に乱数列を更新するものが設定されている。更新時期は、RCK端子に入力されたクロック信号の2分周クロックによって設定されるタイミングである。
取得時期は、第1始動入賞口62の始動入賞検出装置74又は第2始動入賞口63の始動入賞検出装置75で異なる。第1始動入賞口62の始動入賞検出装置74の場合は、入力信号がOFF→ONとなることによって、CPU501のP0端子にロウレベルが入力され、乱数回路のchAから取り込まれた乱数値(ハードウエア乱数の乱数値)が、乱数値レジスタ(RA0D)に格納される。ソフトウエアにより、第1始動入賞口62の始動入賞検出装置74の入力信号がOFF→ONとなったと判断した時に乱数値レジスタ(RA0D)に格納された内蔵乱数(ハードウエア乱数)を取得する。なお、特別図柄当り乱数は、取得した内蔵乱数に特別図柄当りソフト乱数を加算した値となる。
一方、第2始動入賞口63の始動入賞検出装置75の場合は、入力信号がOFF→ONとなった場合に、CPU501のP1端子にロウレベルが入力され、乱数回路のチャネルAから取り込まれた乱数値が、乱数値レジスタ(RA1D)に格納される点で、第1始動入賞口62の始動入賞検出装置74の場合と異なっている。
特別図柄当り乱数について、大当りに当せんすることとなる乱数の値の数は、低確率の場合と高確率の場合で異なり、低確率時は164個、高確率時は1640個である。
また、特別図柄当り乱数に関し、乱数の周期は、大きさが65536である乱数が所定のスピードで更新がされることから、約0.013s(秒)となる。
特別図柄当りソフト乱数は、特別図柄表示装置(70,71)の抽選に使用する乱数であり、前述のように乱数回路のchAで生成した内蔵乱数の取得時、取得した内蔵乱数に加算される。乱数の値は「0〜65520」をとり、乱数の大きさは65521である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻し、乱数が1周した場合は、その時の特別図柄当りソフト初期値乱数の値を特別図柄当りソフト乱数の値とするものである。更新時期は、遊技進行割込み毎であり、遊技進行割込み毎に1回更新される。取得時期は、第1始動入賞口62の始動入賞検出装置74又は第2始動入賞口63の始動入賞検出装置75により遊技球の入賞を検出した時である。
特別図柄当りソフト初期値乱数は、特別図柄当りソフト乱数の初期値及び特別図柄当りソフト乱数の終了値を決定するための乱数であり、乱数の値は「0〜65520」をとり、乱数の大きさは65521である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻すものである。更新時期は、遊技進行割込み毎であり、また、遊技進行割込みを実行していない間も更新がされる。
特別図柄当り図柄乱数は、大当りとなる図柄の組合せの決定に使用する乱数である。乱数の値は「0〜999」をとり、乱数の大きさは1000である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻し、乱数が1周した場合は、その時の特別図柄当りソフト初期値乱数の値を特別図柄当り図柄乱数の値とするものである。更新時期は、遊技進行割込み毎であり、遊技進行割込み毎に1回更新される。取得時期は、第1始動入賞口62の始動入賞検出装置74又は第2始動入賞口63の始動入賞検出装置75により遊技球の入賞を検出した時である。
特別図柄当り図柄初期値乱数は、特別図柄当り図柄乱数の初期値及び特別図柄当り図柄乱数の終了値を決定するための乱数であり、乱数の値は「0〜999」をとり、乱数の大きさは1000である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻すものである。更新時期は、遊技進行割込み毎であり、また、遊技進行割込みを実行していない間も更新がされる。
遊技の用に供されるその他の乱数には、普通図柄変動パターン乱数、変動パターン乱数の2種類がある。これらのうち普通図柄変動パターン乱数は、普通図柄表示装置の変動パターン選択に使用する乱数であり、乱数の値は「0〜232」をとり、乱数の大きさは233である。更新方法は、先ず前回の乱数に1を加算し、加算した結果が最大値を超えた場合は0に戻すものである。更新時期は、遊技進行割込み毎であり、遊技進行割込み毎に1回更新される。取得時期は、作動口68a,68bの通過検出装置69a,69bにより遊技球の通過を検出した時である。
変動パターン乱数は、特別図柄表示装置(70,71)の変動パターン選択に使用する乱数であり、乱数の値は「0〜49999」をとり、乱数の大きさは50000である。更新方法は、先ず前回の乱数から3511を減算し、減算した結果が0未満の場合には、減算した結果に50000を加算するものである。更新時期は、遊技進行割込み毎であり、遊技進行割込み毎に1回更新される。取得時期は、第1始動入賞口62の始動入賞検出装置74又は第2始動入賞口63の始動入賞検出装置75により遊技球の入賞を検出した時である。
<その他の個々の制御処理態様>
<<コマンド送信タイミングに係る制御態様>>
本実施例では、メイン基板102からサブメイン基板301に出力される演出制御コマンドは、送信の前に、コマンド要求により、コマンドバッファに一旦格納される。コマンドバッファは、複数のバッファをリングバッファとして機能させたものであり、コマンド送信のための制御処理(ここでは演出制御コマンド送信処理(S69))において、コマンドバッファに蓄積された順に、1回の遊技進行割込み処理で1コマンドずつ、コマンドバッファから取出されて送信される。なお、優先順位が高く設定されたコマンドから先に送信するような手法も採用可能である。また、各種の制御処理において、送信が必要となったコマンドが発生した場合に、随時コマンド送信を行うことも可能である。このような手法を採用した場合には、1回の遊技進行割込み処理中に、例えば演出制御コマンド送信処理(S69)のような一つの制御処理モジュール内で集約的に演出コマンドの送信が行われるのではなく、コマンド送信の必要が生じる都度、各制御処理モジュール内で、逐次的にコマンド送信が行われることになる。このため、コマンド送信が次回以降の遊技進行割込み処理に持ち越されるといった事態が生じ難い。そして、例えば始動入賞時のコマンドや、特別図柄の変動開始時のコマンド送信に遅れを生じることがなく、迅速なコマンド処理が可能となる。
<<保留記憶の更新に係る制御態様>>
本実施例では、前述のように、第2の遊技が優先される構成が採用されており、第1及び第2の複数の遊技の実行順序に規則性が設けられているため、保留記憶の更新は、第2の遊技、或いは、第1の遊技毎に順に行われる。したがって、第2の遊技、或いは、第1の遊技毎に、保留記憶された情報の更新のみを行えば、保留記憶された情報の更新が完了する。しかし、これに限定されず、例えば、第1の遊技を優先する構成や、何れかの遊技を優先させるのではなく、始動入賞が発生し保留記憶された順に、保留記憶を消化する構成なども採用が可能である。このうち、始動入賞が発生した順に保留記憶を消化する構成を採用した場合には、消化に応じた保留記憶情報の更新、複数の遊技の合計保留数の更新、及び、入賞順序の記憶を行うことにより、全体として、保留記憶された情報の更新を行うことができる。
また、本実施例では、保留記憶が更新されたことをサブメイン基板301に伝えるため、前述のように図柄記憶数コマンド(図柄1記憶数コマンドや図柄2記憶数コマンド)の要求が行われるが、1つのコマンドに図柄1記憶数コマンド、及び、図柄2記憶数コマンドの双方を含めることにより、必要なプログラムやメモリの容量を削減できる。
<<変動パターンの抽選に係る制御態様>>
続いて、変動パターンの抽選に係る各種態様について説明する。ここで説明する変動パターンの決定の態様は、一のぱちんこ遊技機10において、何れかが選択されて適用されてもよく、或いは、適宜併用されていてもよい。そして、複数の態様を併用する場合には、例えば、当否結果等の要素に基づき、態様の使い分けを行うことが可能である。
本実施例では、変動パターンの決定には、前述のように、当否結果、保留球数、特別図柄(図柄群の場合もある)、及び、変動パターン選択状態(特別図柄のステイタス情報)が決定要素として用いられているが、これらの決定要素の組合せに対応した変動パターンが選択される。そして、変動パターンの決定に伴い、変動パターンと紐付けされ対になっている変動時間が決定される。さらに、本実施例では、変動パターンの決定に関し、当否抽選の結果が大当りの場合と、はずれの場合とで、決定の要素を異ならせることが行われている。すなわち、大当りの場合には、演出状態(特別図柄のステイタス情報など)、特別図柄群、当否乱数を基に、これらに紐付けされた中から変動パターンが選択される。一方、はずれの場合には、演出状態、保留球数、当否乱数を基に、これらに紐付けされた中から変動パターンが選択される。このうち、大当りの場合で、演出上の再抽選の時間が付与される変動パターンについては、演出状態(特定の演出の有無など)と、特別図柄群とに基づき、再抽選の時間の付与の有無が決定され、決定された結果が、メイン基板102からサブメイン基板301へ送信される。
また、変動パターン及び変動時間の決定に際して、決定された演出パターン番号(別の言い方をすれば、演出パターンの内容)に応じた後続的な変動時間の決定を行うことが可能である。例えば、選択された変動パターンが、限定頻度パターン演出に対応したものである場合に、それに応じた変動時間の延長分を事後的に決定するといったことが考えられる。
また、前述のように特別図柄の図柄変動開始時のコマンドとして変動付加情報のコマンドを設定することにより、遊技状態や当り図柄といった要素に関係づけて先に決定した変動時間に、後発的に付加時間を加算する演出が行うことができる。そして、この様な態様で、総合的な変動時間を決定する場合には、以下のように、予め設けられる変動パターンの数を少なく抑えつつ、多様な変動パターンを作成することが可能である。すなわち、擬似的な連続予告(所謂「擬似連」)を行う場合について考えれば、擬似連の変動パターンを単に個別に設定した場合には、演出の種類数と同じ数の変動パターンを予め設けておく必要がある。そして、このように全て個別に演出パターンを用意した場合には、変動パターンの合計数が大となって、例えば256個を超えるほどの数に達することも考えられる。このため、多数の変動パターンに対して識別可能な符号を与えるためには、従来よりも符号を表すためのビット数やバイト数を増やす必要が生じてしまう。
しかし、変動付加情報(変動付加パターン)を用いることにより、相対的に少ない数の基本の変動パターンに対し、例えば乱数抽選した変動付加情報を繋げて、事後的に変動パターンを形成することが可能である。そして、このことにより、変動パターンの組合せにより新たな変動パターンを形成できるので、予め設けておく変動パターンの数を過大とすることなく、多様な変動パターンを作成できる。なお、変動付加情報に係る乱数値も、先読み演出用のコマンドとして、始動入賞発生時に、メイン基板102からサブメイン基板301に送信することが可能である。また、限定頻度パターン演出が実行される場合に変動付加情報の付加が行われ易くなるよう、変動付加パターンの出現確率を設定しておくことなども可能である。なお、変動付加情報を用いる例を更に挙げれば、装飾図柄190a〜190cの組合せとして最初から確変図柄である「777」が表示された場合には変動付加情報の設定は行わず、装飾図柄190a〜190cの組合せとして、一旦非確変図柄である「666」が表示された場合には、「777」に昇格させるか否かの結果が表示されるまでの演出(例えば、揺れ変動の演出や、変動態様の展開を表す演出など)を、変動付加情報を設定して行う、といったことがある。
また、本実施例では、変動パターンは、保留球数を要素として決定されており、保留球数が幾つであるかに応じて、参照される変動パターンテーブルが異なる。変動パターンテーブルは、保留球数0〜4に対応して設けられている。保留0〜3の4つだけではなく、保留4に対応する変動パターンテーブルが設けられているのは、以下の理由による。例えば、保留球数が4つの状況から新たな変動表示が開始され、保留球数が3となった場合を考える。その時点で実行されている遊技進行割込み処理中の、未だ制御処理が、後の遊技進行割込み処理中の処理である変動パターンの決定に至らない段階において、保留球数が3となっている状態から新たな始動入賞が発生すると、変動パターンの決定時には、保留球数が加算されて4となっている。したがって、このような状況も変動パターンの決定の要素とし得るよう、保留球数0〜4に対応して変動パターンテーブルが設けられているのである。
ただし、本発明はこれに限定されるものではなく、変動パターンテーブルは、保留球数0〜3に対応して設けるようにしてもよい。この場合、制御処理上、保留球数3の状態から変動パターンの決定までの間の始動入賞が加算されない構成とすることが可能である。なお、何れの態様についても、4個以外の最大保留数(例えば8)が設定されたタイプのぱちんこ遊技機にも適用が可能である。
また、変動パターン乱数の取得タイミングとしては、変動パターン抽選時とすることが可能である。すなわち、変動パターン乱数は、特別電動役物等の役物作動に係る乱数ではないので、適正な遊技を行うための要素としては、当否乱数などに比べて、例えば公正な遊技を目指すうえでの制約を設ける必要性が低くなる。したがって、始動入賞時には敢えて変動パターン乱数の取得はせず、例えば、別途設けられたタイミングとして変動パターン抽選時に、変動パターン乱数を取得し、記憶することが考えられる。このようにすることにより、始動入賞時に記憶すべき情報の数を減らすことができ、プログラムやメモリの容量削減が可能となる。
<<図柄の指定に係る制御態様>>
本実施例においては、前述のように、確変とするか否かの決定は特別図柄により決定される。このため、特別図柄当り図柄乱数(図柄乱数)により図柄が決定されるとともに、確変の有無も決定される。さらに、確変となる確率(割合)は、確変と対応付けられた図柄の選択確率によって決まる。なお、図柄乱数を示す符号の上位バイトの値に基づき使用する図柄判定テーブルを決定し、その後、図柄乱数の下位バイトの値に基づき、決定した図柄判定テーブルから図柄を決定することなども可能である。本実施例では、図柄乱数の数値範囲が「0〜999」に設定されているので、これらの数値の二値符号コードを利用することができる。そして、このようにすることにより、メモリやプログラムの容量を削減できる。また、当り図柄(図柄群であってもよい)に対してラウンド数や時短回数等の遊技状態の振分けを行い、当り図柄に応じて、その後のラウンド数や時短回数等が決定されるようにしてもよい。このようにすることにより、遊技状態の固有のデータの記憶や制御処理を行う必要がなく、メモリやプログラムの容量を削減できる。さらに、メイン基板102からサブメイン基板301へ当り図柄等を伝えるコマンド(例えば、本実施例では、図柄1演出パターン、図柄2演出パターンの各コマンド)に、遊技状態を伝える情報(遊技状態指定情報)を付加することも可能である。このコマンドは、作成されてから直ぐにサブメイン基板301へ送信されるものではなく、作成されて一時記憶され、所定のタイミングを待ってからサブメイン基板301へ送信されるものである。
<<特別図柄と装飾図柄の変動時間の関係>>
前述のように、特別図柄(第1特別図柄192又は第2特別図柄193)と、これに対応した装飾図柄190a〜190cとは、互いに同期して変動開始及び変動停止するよう制御されるものであるが、状況によっては、装飾図柄190a〜190cの変動時間が、特別図柄(第1特別図柄192又は第2特別図柄193)の変動時間に対してある程度短くなり得るものである。
すなわち、特別図柄の変動や変動パターンの決定がされ、特別図柄の変動が開始される際に、メイン基板102からサブメイン基板301に対し装飾図柄の変動開始コマンド(変動開始時のコマンド)が送信されるが、所定のコマンド(例えば変動開始時のコマンドの最初のコマンド)の送信及び受信に要する時間や、コマンドバッファ(本実施例ではリングバッファタイプが用いられている)にセットされ待機しているコマンド(先入れのコマンド)が全て送出されるまでの時間などの影響を受け、その分、装飾図柄の変動開始が特別図柄の変動開始よりも遅延することが考えられる。さらに、特別図柄の変動停止時には、変動停止コマンド(特別図柄の図柄確定時のコマンド)がサブメイン基板301に送信されるが、所定のコマンド(例えば図柄確定時変動開始時のコマンドの最初のコマンド)の送信及び受信に要する時間や、コマンドバッファの混み具合(送信待機中のコマンドの数の程度)により、装飾図柄の変動停止が遅延することも考えられる。
このように、装飾図柄の変動時間は、特別図柄の変動時間に対してある程度短くなり得るものであり、特別図柄が変動開始した後に装飾図柄が変動開始し、特別図柄が変動停止した後に装飾図柄が変動停止するということが生じ得る。なお、装飾図柄の変動開始時と変動停止時との遅延の程度についは、通常は、変動開始時には送信すべきコマンドの数が相対的に多く、停止時には相対的に少ないことから、変動停止時の遅延の程度は、変動開始時に比べて小さい(少ない)と考えられる。
<本実施例に係る発明の作用効果>
以上説明したように本実施例のぱちんこ遊技機10においては、CPU501に16ビット乱数発生機能と、8ビット乱数発生機能とが備えられている。このため、多様な乱数を用いて、大当り抽選等の遊技制御を行うことが可能である。さらに、本実施例においては、16ビット乱数発生機能及び8ビット乱数発生機能のうち、16ビット乱数発生機能のみが乱数抽選に用いられており、8ビット乱数発生機能は用いられていない。しかし、CPU501の電源投入時等には、16ビット乱数用の乱数回路、及び、8ビット乱数用の乱数回路の両方の初期化が行われ、その後にセキュリティモードに移行できるようになっている。したがって、使用しない乱数発生機能についても確実に初期化を行うことができ、使用していない乱数発生機能を利用した不正行為などを防止することが可能となる。
つまり、ぱちんこ遊技機におけるCPUは、前述したIDナンバー等の固有情報を異ならせつつ、遊技制御機能については共通化がされており、複数の遊技機製造業者や機種で使用されるものである。このため、多種類の乱数発生機能を備えることにより、長年にわたり、多種類のぱちんこ遊技機に使用できるようになると考えることができる。しかし、このような利点がある反面、使用しない乱数機能があっても、その乱数機能を削除するということはできず、使用しない乱数機能を残したまま、ぱちんこ遊技機に使用することになる。このため、例えば、電源断時に使用しない乱数回路に残存した乱数値を、電源投入等の直後に使用して、故意に大当りを発生させる、或いは、確変図柄に当せんし易くする、といった、不使用の乱数機能を利用した不正が行われることも考えられる。このような事情に対し、本実施例のように、電源投入等の際に、使用されない乱数回路についても、使用される乱数回路とともに初期化を行うことにより、例示したような不正行為が行われるのを未然に防ぐことができ、CPUにおける乱数の信頼性を向上することが可能となる。そして、CPUの各種の乱数発生機能について適正な処理を行うことが可能となる。
また、本実施例においては、当否抽選において、ハードウエア乱数とソフトウエア乱数の両方を用いて作成された乱数が使用されているので、不使用の乱数回路を利用した不正が行われても、高い安全性で当否抽選を行うことが可能あるが、上述のように、電源投入時等に、不使用の乱数回路の初期化を確実に行っておくことにより、より一層高い安全性を確保することができる。
ここで、本実施例においては、ハードウエア乱数は当否抽選にのみ使用されているが、本発明はこれに限定されるものではなく、特別図柄の図柄抽選、変動パターン抽選、普通図柄に係る抽選といった他の抽選にも用いることが可能である。そして、その場合は、ハードウエア乱数を単独で使用することや、当否抽選と同様にソフトウエア乱数と併せて使用することが可能である。
さらに、本実施例においては、制御開始処理(図12、図13参照)のRWMの初期化時の処理(S24〜S28)で、RWM領域のクリア(S24)が行われる。したがって、このS24において前述した各種のエラーフラグのクリアを行うことができる。ここでクリアされるエラーフラグには、前述の電波検知信号に基づく電波エラーフラグなども含まれる。
また、本実施例においては、電源電圧が下がって所定値に達してから電源断となるまでの時間である電源断所要時間は、制御開始処理を完遂するのに要する時間A、遊技進行割込み処理を完遂するのに要する時間B、電源断確認情報を設定するのに要する時間C、及び電源断処理を完遂するのに要する時間Dの総和よりも大きく設定されている(図17参照)。そして、この電源断所要時間は、電源投入等の後、制御開始処理が開始されるまでの時間内に行われるハードウエアの初期化とセキュリティチェックに要する時間よりも長くなっている。したがって、セキュリティモード中に電源電圧が所定値以下となった場合に、電圧値がCPU501の動作に必要な値を下回るまでの間に、セキュリティチェックを完了することが可能である。
なお、本発明は、上述の実施例に限らず、種々に変更することが可能である。例えば、演出図柄表示装置60として、複数の液晶表示器等を用いたものを採用してもよい。この場合、複数の表示器の配置として、互いに隣接させるもの、離間して配置するもの、一方を相対的に大型の表示器とし、他方を相対的に小型の表示器としたもの、少なくとも一つを通常は隠しておき演出内容に応じて出現させるもの、などを挙げることができる。さらに、例えば、装飾図柄190a〜190cの表示を一方の表示器で行い、他方の表示器に第1保留数表示部196及び第2保留数表示部197や、信号機198などを付帯的に表示するもの、複数の画面間で表示対象(キャラクタ、装飾図柄、保留数表示部、など)を移動させるもの、なども採用が可能である。
また、大当りの判定で大当りと判定された場合に、大当り図柄、確変の有無、時短の有無、普通電動役物の開放延長の有無、各種開始デモ開始時間、各種終了デモ時間、特別電動役物の作動パターンなどを決定し、その結果の参照は、全て纏めてではなく、これらの情報を必要とする各種制御処理中で個々に必要に応じたタイミングに分けて行うことが可能である。
また、特別遊技の開始後に、例えば遊技球が特定の領域を通過したことを契機に、確変の有無、時短の有無、普通電動役物の開放延長の有無、特別電動役物の作動パターンなどのうちの少なくとも何れか一つを決定するタイプ(「球確スペック」などともいう)のぱちんこ遊技機においては、例えば大当り終了デモの所要時間を、確変か非確変(通常)かといった遊技状態に応じて異ならせておき、大当りと判定された場合に、大当り終了デモ開始時に、決定された遊技状態に応じた時間で、大当り終了デモを実行することが可能である。
また、本実施例では、大当り中以外であること、第1特別図柄192(又は、第2特別図柄193)が変動待機中であること、及び、変動開始対象となる特別図柄の作動保留球数が0以外であること、が変動開始の条件とされており、更に、第2始動入賞口63を用いる第2の遊技が第1の遊技に優先されている。しかし、これに限定されるものではなく、例えば、第1の遊技を優先する構成や、何れかの遊技を優先させるのではなく、始動入賞が発生し保留記憶された順に、保留記憶を消化する構成なども採用が可能である。このうち、後者の入賞順に図柄変動を行うタイプのものにおいては、上述の各変動開始条件に加えて、例えば当否判定の順序と消化順序(入賞順)と一致していることを確認し、一致していることが確認できたことを変動開始条件の一つとすることが可能である。
さらに、上述のように第1の遊技及び第2の遊技の図柄変動を入賞順に行うタイプにおいては、一方の遊技が当せんしている場合には、他方の遊技の当否判定を行わないようにすることも可能である。ここで、他方の遊技の当否判定を行わない態様としては、先の当せんした遊技の大当りの遊技が終わるまでは、後の遊技の当否判定を行わない態様や、後の遊技の始動入賞を例えば当否判定については無効にする態様、などが考えられる。すなわち、これらの各種態様のように、複数の始動口を用いた場合の遊技の内容等の事情に応じて、図柄の変動開始の条件を適正に設定することが可能である。
また、前述の条件装置の作動終了後の遊技状態の記憶の順序について、適正な態様を設定することが可能である。例えば、特別図柄の確率変動、開放延長機能等、特別電動役物の開放パターン、変動パターンの選択状態(限定頻度パターンを含む)、開始デモ及び終了デモの時間の順に設定することが可能である。
また、本実施例では、前述のように、待機デモの表示要求をメイン基板102で行い、メイン基板102からサブメイン基板301へ客待ちデモコマンドを送信しているが、このコマンド送信に関する具体的態様として、大当り終了時(終了デモ終了時)、或いは、特別図柄の変動停止時、といった所定のタイミングでタイマをセットして計時を行い、特別図柄の変動待機中はタイマを減算し、タイマ値が0になった際に、待機デモのコマンド送信を行うことが考えられる。さらに、特別図柄の保留記憶がない場合に限り、待機デモのコマンドをサブメイン基板301へ送信するようにしてもよい。このように、待機デモのコマンド送信に関して、大当り終了や図柄の変動停止を計時の基準としたり、保留球数によって、コマンド送信の有無を変更することが可能である。また、メイン基板102から客待ちデモコマンドの送受信を行わず、例えば、サブメイン基板301で変動停止コマンド受信後にタイマ計測を行い、所定時間経過後に客待ちデモの表示のための制御を行うようにしてもよい。
また、本実施例では、内蔵乱数(ハードウエア乱数)にソフト乱数を加算した値を大当り判定で使用する当否乱数として用いているが、内蔵乱数とソフト乱数により構成される当否乱数の使用条件を遊技の状況に応じて定めることも可能である。例えば、始動口入賞があり、かつ、そのときの保留球数が最大値に達していないと判断した場合に、内蔵乱数とソフト乱数により構成される当否乱数を当否判定に用い、そのときの保留球数が最大値に達している場合には、例えばソフト乱数のみ(或いは内蔵乱数のみ)を当否乱数として用いることが考えられる。なお、本実施例では、取得された各種乱数の記憶は、当否乱数、図柄乱数、変動パターン乱数について行われているが、本発明はこれに限定されず、例えば、先読み演出機能の有無などによる必要性に応じ、変動パターン乱数の記憶を行わない構成とすることなども可能である。
また、第1の遊技と第2の遊技における始動入賞に係る制御処理を例に挙げれば、別の遊技であることに基づく制御内容の違いはあるものの、制御処理の基本構成は同様とすることができる。このため、本実施例では、制御プログラム上は、RWM503の使用記憶領域をオフセットして相違させるなどし、その他のプログラム内容は多くの部分を共通化することで、第1の遊技と第2の遊技の制御を行っている。このようにすることで、プログラムの記憶容量を少なくすることが可能である。しかし、これに限らず、全く別の処理として制御モジュールを分けて作成してもよい。このようにした場合には、制御処理の速度を向上させることができる。
また、本実施例では、第1の遊技及び第2の遊技の図柄変動の優先順位を定めているため、特別図柄の作動状態の監視において、特別図柄(第1特別図柄192、又は、第2特別図柄193)が変動待機中であるか否かの確認を行っている。しかし、本発明はこれに限定されず、例えば、第1の遊技及び第2の遊技の特別図柄の変動を、並列して同時に行えるようにしたタイプのぱちんこ遊技機の場合においては、第1の遊技及び第2の遊技の図柄変動について、変動待機中であるか否かの確認を行う必要がなくなる。なお、この場合、第1の遊技及び第2の遊技の特別図柄が、互いに独立して変動できるよう、制御処理モジュールを分けて作成することが望ましい。
<電源断時におけるメイン基板の制御処理に係る発明の第二実施例>
次に、電源断時におけるメイン基板の制御処理に係る第二実施例について説明する。なお、前述の実施例と同様の部分については同一番号を付し、その説明は省略する。前述の第一実施例においては、電源の供給電圧が低下してCPU501のNMI端子504(図4参照)に電断信号が入力されると電源断確認情報が設定されるが、第二実施例においては、電断信号の入力があったとしても、その電断信号の入力態様が所定条件を満たさなければ電源断確認情報の設定が行われない。この所定条件としては、電断信号の入力回数や入力期間などを例示することができる。
例えば、電断信号は第一電断信号と第二電断信号とに分けられており、第一電断信号は第二実施例の電断信号と同様のものである。そして、第一電断信号は、CPU501のNMI端子504に入力される。一方、第二電断信号は、第一電断信号の出力に伴ってCPU501に向けて出力されるものであり、第一電断信号がCPU501に入力されると、第二電断信号はCPU501の他の入力端子に入力される。CPU501は、第一電断信号がNMI端子504に入力されると、その時に実行されていた命令を第二実施例と同様に完遂した後、制御プラグラム上に規定された所定のアドレス(ここでは0066H番地)に制御処理をジャンプさせて移行させる。さらに、CPU501は、第二電断信号の入力回数を監視しており、入力回数が例えば5回に達していれば、上述の所定のアドレス(0066H)以降の内容に従い電源断確認情報の設定を実行する。
第二電断信号の入力が5回以上ない場合においても、NMI端子504に第一電断信号が入力されることに伴って、CPU501は、制御処理を前述の所定のアドレス(0066H)に移行させる。しかし、所定のアドレスへの移行を行うものの、それ以外の電源断に備えるための制御処理は何ら行わず、電源断確認情報の設定は実行しない。そして、一旦前述の所定アドレス(0066H)への移行を行った後には、移行する前の、例えば遊技進行割込み処理中の制御処理に戻る。つまり、第二電断信号の入力態様が所定条件を満たさなくても制御処理は一旦所定のアドレス(0066H)に移行するが、それ以降の電源断確認情報の設定等のための制御処理を何ら行うことなく、移行前の制御処理に戻る。
第二電断信号の入力回数は、遊技進行割込み処理が繰り返される毎に加算される。つまり、本実施例では、5回の遊技進行割込み処理に亘り第二電断信号の入力が繰り返された場合に所定条件が満たされたと判定される。
この第二実施例によれば、電源電圧が低下していない場合に例えばノイズ等の影響によりNMI端子504に信号入力があったとしても、信号入力があったことのみを原因として電源断確認情報が設定されてしまうことを防止できる。したがって、電源断とする必要がなく電源断となるべきでないような状況において、誤って電断処理が実行されてしまうことを防止できる。さらに、本実施例のように、所定のアドレスに制御処理を移行させた後に、電源断確認情報を設定することなく直ぐにその処理を抜ける構成とすることにより、第一電断信号が入力に伴うノンマスカブル割込みの機能を利用したまま、より確実な電源断確認情報の設定を行うことが可能となる。
すなわち、遊技機の各種制御基板に用いられるCPUは、ハードウエア割込みであるNMIの機能を備えているのが一般的であり、CPUには、NMI機能のための入力端子や電子回路部分(論理回路を含む)が備えられている。しかし、NMI端子504への信号入力を無視してしまうような制御処理を行うこととした場合には、NMIの機能を削除するための設計変更が、プログラム上、及び回路設計上で必要となる。また、NMI端子や、NMIのための電子回路部分を残したまま、これらを使用せず、例えば接地しておくような措置を採った場合には、不使用(又は未使用)の端子や機能が残ってしまい、不正行為に利用されてしまうことも考え得る。これに対して本実施例のように、NMI端子504に第一電断信号が入力されると制御処理を所定のアドレス(0066H)に移行させるという構成を採用することにより、NMI機能のための構成を削除せずに利用したまま、メイン基板102の設計変更を最小限に抑えながらノイズ等への対策を施すことが可能となる。
なお、本実施例においては、第二電断信号の入力態様が満たすべき所定条件として、5回の入力を定めているが、本発明はこれに限定されるものではなく、5回以外の回数を設定してもよい。また、所定回数に限られるものではなく、例えば所定期間に亘る入力を条件としてもよい。さらに、第二電断信号を生成するために、第一電断信号の信号経路を分岐させてCPU501に直接的に入力することや、第一電断信号の分岐信号をスイッチング回路に入力することなどが考えられる。また、第一電断信号と第二電断信号とは、CPU501に同期して入力されることが望ましいが、本実施例の作用効果を奏することが可能な範囲で第二電断信号が遅延する構成を採用してもよい。さらに、第二電断信号の入力回数は、遊技進行割込み処理が繰り返される毎に加算されるものとしているが、本発明はこれに限定されず、例えば1回の遊技進行割込み処理中に複数回計数され得る事項に基づいて、所定条件となる回数をカウントしてもよい。
<封入式遊技機への適用>
また、本願発明は、遊技者が獲得した遊技媒体としての遊技球を、前述のように、遊技者に対し直接的に払出して遊技者が賞球に触れることができるようにしているぱちんこ遊技機に限られず、例えば封入循環式のぱちんこ遊技機にも適用が可能である。封入循環式のぱちんこ遊技機としては以下のようなものを例示できる。なお、前述の実施例のぱちんこ遊技機10と同様の部分については同じ符号を付して説明する。
すなわち、封入循環式のぱちんこ遊技機は、内部に遊技媒体としての遊技球を封入しており、遊技者が発射ハンドル17を操作することにより、発射装置の発射モータを駆動させて封入球を1発ずつ遊技盤50前面の遊技領域52に打込んで遊技ができるように構成されている。遊技領域52の構成としては、前述のぱちんこ遊技機10のように遊技球を遊技者に引き渡すタイプのぱちんこ遊技機と同様の構成を採用できる。さらに、遊技球を遊技者に引き渡す必要がないことから、遊技球を一旦溜めるための上球皿15、下球皿16といった構成はなくてもよい。
遊技領域52で入賞した遊技球、及び入賞しなかった遊技球はセット基盤39に形成された球回収樋に案内され、揚送装置(図示略)により揚送される。揚送装置は、揚送モータにより回転する揚送用スクリューが内蔵されており、この揚送用スクリューが回転することによりパチンコ球(遊技球)が揚送される。揚送装置の背部には、揚送途中のパチンコ球と接触することによりそのパチンコ球を研磨する研磨部材が設けられており、パチンコ球は揚送されつつ、その表面が研磨される。
揚送装置の球入口側(下方側)及び球排出口側(上方側)には、遊技球の検出スイッチが設けられており、これら検出スイッチにより、揚送されるパチンコ球が検出される。揚送装置の球排出口の近傍には球発射装置が設けられており、揚送後の(上方側の)検出スイッチで検出された遊技球は、球送り装置により球発射装置に供給される。球送り装置は、遊技者が発射ハンドル17を操作して遊技球を1発打つ毎に次の遊技球を1つ打球発射位置に送り込む機能を有する。さらに、遊技球の循環経路途中に遊技球過不足検出スイッチが設けられ、循環経路内のパチンコ球が所定個数(たとえば50個)になっているか否かを検出する。
ぱちんこ遊技機の所定側の側方位置に該ぱちんこ遊技機に対して遊技用装置の一例のカードユニット(CU)が1対1に対応設置されている。この点は、前述のぱちんこ遊技機10と同様である。カードユニットは、会員登録をしていない一般の遊技者に対して発行される遊技用記録媒体であるプリペイド機能を備えるビジターカードや、該遊技場に会員登録した会員遊技者に対して発行される遊技用記録媒体である会員カードを受付けて、それらカードの記録情報により特定される遊技者所有の遊技価値(たとえばカード残高、持球数、あるいは貯球数等)を用いて対応するぱちんこ遊技機における封入球を弾発発射させて遊技ができるようにするための機能を有する。なお、ビジターカードや会員カードはICカードで構成されている。
このぱちんこ遊技機においては、現在の持球数の管理は、カードユニット側においてぱちんこ遊技機側の遊技球数の変動を算出することにより行われている。ぱちんこ遊技機側においても現在の遊技球数の算出・記憶を行なっているが、その遊技球数はぱちんこ遊技機側において遊技球数が0となったときにぱちんこ遊技機自ら打球発射を迅速に停止させる制御を行なうためだけに用いられる副次的なものである。このようにすることにより、ぱちんこ遊技機側における遊技球数に関する主管理機能をカードユニット側に持たせてぱちんこ遊技機側のコストを抑えることにより、封入式遊技機を導入する遊技場のランニングコストを軽減することができる。
ぱちんこ遊技機とCUとが遊技場に設置されて初めて電気的に接続された状態で電源を立上げたときには、ぱちんこ遊技機側の払出制御基板は、メイン基板からメインチップIDを送信してもらい、そのメインチップIDをCU側に送信するとともに、払出制御基板自身が記憶している払出チップIDをカードユニット側へ送信する。カードユニット側では、それら送信されてきたメインチップIDと払出チップIDとを記憶する。次に、接続時刻すなわちカードユニット側とぱちんこ遊技機側とが接続されて通信が開始された時刻のデータがカードユニット側からぱちんこ遊技機側へ送信され、ぱちんこ遊技機側ではその送信されてきた接続時刻を記憶する。
それ以降の電源投入時においては、ぱちんこ遊技機側からカードユニット側へそれら3つの情報、すなわち、メインチップIDと払出チップIDと前回の接続時刻データとが送信される。
カードユニット側では、それら送信されてきたデータと既に記憶しているデータとを照合し、前回と同じぱちんこ遊技機が接続されているか否かを判別する。なお、接続時刻のデータは、電源が立上げられる度にカードユニット側とぱちんこ遊技機側との通信が開始された新たな接続時刻データがカードユニット側からぱちんこ遊技機側へ送信されてその新たな接続時刻データをぱちんこ遊技機側において記憶することとなる。
カードユニットからぱちんこ遊技機に対しては、ぱちんこ遊技機に対してメインチップID等の送信が要求され、ぱちんこ遊技機からカードユニットに対してはメインチップID等が送信される。さらに、カードユニットからぱちんこ遊技機に対して認証が要求され、ぱちんこ遊技機からカードユニットに対しては、カードユニットからの認証要求の受理の通知が行われる。また、カードユニットからぱちんこ遊技機に対して、リカバリ情報の送信が要求され、ぱちんこ遊技機からカードユニットに対して、ぱちんこ遊技機で保持しているリカバリ情報が送信される。続いて、カードユニットからぱちんこ遊技機に対して、ぱちんこ遊技機に対して接続状態であることが通知され、ぱちんこ遊技機からカードユニットに対して、接続状態であることが通知される。また、カードユニットからぱちんこ遊技機に対して、リカバリ情報のクリア、接続ID(通信開始時刻)のバックアップの要求がされ、ぱちんこ遊技機からカードユニットに対して、リカバリ情報のクリア、接続ID(通信開始時刻)のバックアップの終了が通知される。
さらに、カードユニットからぱちんこ遊技機に対して、各種(遊技動作)が指示され、遊技台情報(加減算データ等)の送信が要求される。カードユニットはこのコマンドを使用して、遊技台の状態を定期的に確認する。ぱちんこ遊技機からカードユニットに対しては、遊技動作指示の実行結果および遊技台情報(加減算データ等)が通知される。カードユニットからぱちんこ遊技機に対しては、通信コネクションの接合を要求するコマンドが送信される。
また、ぱちんこ遊技機で遊技をしている最中に遊技球がなくなったことが検知された場合には、払出制御基板は自動的に打球発射モータの駆動を停止させて球を遊技領域に打込めない遊技禁止状態に制御する。なお、打球発射が停止するのみで、その段階で既に可変表示装置が可変表示中であった場合にはその可変表示を続行する。また発射停止制御を行なった段階で第1始動入賞口62や第2始動入賞口63の保留球数の記憶がある場合には、その記憶に基づいた可変表示装置の可変表示制御が続行される。
遊技球数の主たる管理はカードユニットで行なわれているが、ぱちんこ遊技機において遊技球数が0になったことに伴う遊技禁止制御(発射停止制御)を行なうときにのみ、ぱちんこ遊技機側における遊技球数が0になったことを判定して遊技禁止制御(発射停止制御)を行なう。その後、動作応答として、最終的な球関連情報をカードユニットに送信して最終的な遊技球数「0」をカードユニット側において確定させる。このように制御する理由は、ぱちんこ遊技機側において遊技球数が0になった瞬間に打球発射停止制御を行なう必要があるためである。
たとえば、遊技球数の主たる管理を行なっているカードユニット側において、ぱちんこ遊技機側から送られてくる遊技球数=0になったときの加算球数および減算球数を含む動作応答のレスポンスの受信を待って、カードユニット側において最終的な遊技球数を算出してそれが0となることにより、遊技を禁止させるための禁止要求有の動作指示のコマンドをぱちんこ遊技機側へ送信し、それを受けて初めてぱちんこ遊技機側において打球発射停止制御を行なった場合には、レスポンスおよびコマンドの送受信の間に、パチンコ球が弾発発射されてその間に新たな減算球数が発生する可能性があり、ぱちんこ遊技機側において、遊技球数が既に「0」になっているにも拘らず新たな減算球数が発生して結局遊技球数がマイナスになってしまうという不都合が生じる。このような不都合を防止するため、遊技球数が0になったときの打球発射停止制御のみ、ぱちんこ遊技機側における遊技球数に基づいて制御している。
このように、打球発射停止制御に代表されるような遊技制御は、ぱちんこ遊技機自身が記憶している遊技球数に基づいて行なうために、カードユニットで管理記憶している遊技球数に基づいてこのような遊技制御を行なう場合に比較して、遊技球数の変動に即した遊技制御をリアルタイムで行なうことができる。
なお、ここでは、打球発射停止制御を払出制御基板が行なう例を示しているが、メイン基板が打球発射停止制御を行なうように構成してもよい。この場合、たとえば、払出制御基板は、遊技球数0を判定した段階で遊技球数が0であることを示す信号をメイン基板へ送信する。メイン基板は、この信号を受けて、発射モータの駆動を禁止する。
カードユニットによるこのような遊技禁止の処理は、前枠12や扉14の開放があった時や、各種カードの返却操作が遊技者によって行われたときにも実行される。なお、ぱちんこ遊技機は、禁止拒否の応答が可能となっており、異常等の何らかの事情によりカードユニットの指示に従えず、例えば前枠12や扉14の開放ができないといった状況の場合には、この禁止拒否の応答をカードユニットへ送信する。なお、遊技禁止には、発射モータの駆動の禁止のみでなく、その他の遊技事項、例えば球貸なども含まれている。
また、このような封入循環式のぱちんこ遊技機においては、球貸を所定金額(例えば500円分や1000円分)ごとに行わず、投入金額(例えば10000円)分の球貸を纏めておこなうことも可能である。遊技者への遊技球の引き渡しを必要としないので、このような球貸形態への適応は容易に行うことができる。
なお、本願発明においては、カードユニットを添設した形態のものをも含めてぱちんこ遊技機として包括的に把握することが可能である。