以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図、図2はパチンコ遊技機1の内部構造を示す全体背面図、図3はパチンコ遊技機1の遊技盤を背面からみた背面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機等であってもよい。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3がある。打球供給皿3の下部には、打球供給皿3からあふれた貯留球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
遊技領域7の中央付近には、複数種類の図柄を可変表示するための可変表示部9と7セグメントLEDによる可変表示器10とを含む可変表示装置8が設けられている。また、可変表示器10の下部には、4個のLEDからなる通過記憶表示器(普通図柄用記憶表示器)41が設けられている。この実施の形態では、可変表示部9には、「左」、「中」、「右」の3つの図柄表示エリアがある。可変表示装置8の側部には、打球を導く通過ゲート11が設けられている。通過ゲート11を通過した打球は、球出口13を経て始動入賞口14の方に導かれる。通過ゲート11と球出口13との間の通路には、通過ゲート11を通過した打球を検出するゲートスイッチ12がある。また、始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ17によって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。この実施の形態では、開閉板20が大入賞口を開閉する手段となる。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(Vゾーン)に入った入賞球はVカウントスイッチ22で検出される。また、開閉板20からの入賞球はカウントスイッチ23で検出される。可変表示装置8の下部には、始動入賞口14に入った入賞球数を表示する4個の表示部を有する始動入賞記憶表示器18が設けられている。この例では、4個を上限として、始動入賞がある毎に、始動入賞記憶表示器18は点灯している表示部を1つずつ増やす。そして、可変表示部9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
遊技盤6には、複数の入賞口19,24が設けられ、遊技球の入賞口19,24への入賞は入賞口スイッチ19a,24aによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、遊技効果LED28aおよび遊技効果ランプ28b,28cが設けられている。
そして、この例では、一方のスピーカ27の近傍に、景品球払出時に点灯する賞球ランプ51が設けられ、他方のスピーカ27の近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技台1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
打球発射装置から発射された打球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が通過ゲート11を通ってゲートスイッチ12で検出されると、可変表示器10の表示数字が連続的に変化する状態になる。また、打球が始動入賞口14に入り始動口スイッチ17で検出されると、図柄の変動を開始できる状態であれば、可変表示部9内の図柄が回転を始める。図柄の変動を開始できる状態でなければ、始動入賞記憶を1増やす。
可変表示部9内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球が特定入賞領域に入賞しVカウントスイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の可変表示部9内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。また、可変表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、高確率状態では、可変表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。
可変表示装置8の背面では、図2に示すように、機構板36の上部に景品球タンク38が設けられ、パチンコ遊技機1が遊技機設置島に設置された状態でその上方から景品球が景品球タンク38に供給される。景品球タンク38内の景品球は、誘導樋39を通って球払出装置に至る。
機構板36には、中継基板30を介して可変表示部9を制御する可変表示制御ユニット29、基板ケース32に覆われ遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31、可変表示制御ユニット29と遊技制御基板31との間の信号を中継するための中継基板33、および景品球の払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。さらに、機構板36には、モータの回転力を利用して打球を遊技領域7に発射する打球発射装置34と、遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52に信号を送るためのランプ制御基板35が設置されている。
また、図3はパチンコ遊技機1の遊技盤を背面からみた背面図である。遊技盤6の裏面には、図3に示すように、各入賞口および入賞球装置に入賞した入賞玉を所定の入賞経路に沿って導く入賞玉集合カバー40が設けられている。入賞玉集合カバー40に導かれる入賞玉のうち、開閉板20を経て入賞したものは、球払出装置(図3において図示せず)が相対的に多い景品球数(例えば15個)を払い出すように制御される。始動入賞口14を経て入賞したものは、球払出装置が相対的に少ない景品球数(例えば6個)を払い出すように制御される。そして、その他の入賞口24および入賞球装置を経て入賞したものは、球払出装置が相対的に中程度の景品球数(例えば10個)を払い出すように制御される。なお、図3には、中継基板33が例示されている。
賞球払出制御を行うために、入賞球検出スイッチ99、始動口スイッチ17およびVカウントスイッチ22からの信号が、主基板31に送られる。入賞があったことは入賞球検出スイッチ99で検出されるが、主基板31に入賞球検出スイッチ99のオン信号が送られると、主基板31から払出制御基板37に賞球制御コマンドが送られる。例えば、始動口スイッチ17のオンに対応して入賞球検出スイッチ99がオンすると、賞球個数「6」を示す賞球制御コマンドが出力され、カウントスイッチ23またはVカウントスイッチ22のオンに対応して入賞球検出スイッチ99がオンすると、賞球個数「15」を示す賞球制御コマンドが出力される。そして、それらのスイッチがオンしない場合に入賞球検出スイッチ99がオンすると、賞球個数「10」を示す賞球制御コマンドが出力される。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板37、ランプ制御基板35、音制御基板70、発射制御基板91および表示制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ12、始動口スイッチ17、Vカウントスイッチ22、カウントスイッチ23、入賞口スイッチ19a,24aおよび賞球カウントスイッチ301Aからの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16および開閉板20を開閉するソレノイド21等を基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示部9の画像表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等をホール管理コンピュータ等のホストコンピュータに対して出力する情報出力回路64を含む。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段の一例であるRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。また、I/Oポート部57は、マイクロコンピュータにおける情報入出力可能な端子である。
さらに、主基板31には、電源投入時に基本回路53をリセットするためのシステムリセット回路65と、基本回路53から与えられるアドレス信号をデコードしてI/Oポート部57のうちのいずれかのI/Oポートを選択するための信号を出力するアドレスデコード回路67とが設けられている。なお、球払出装置97から主基板31に入力されるスイッチ情報もあるが、図4ではそれらは省略されている。
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、ゲート通過記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52の表示制御を行う。ここで、ランプ制御手段は発光体制御手段の一例である。また、特別図柄を可変表示する可変表示部9および普通図柄を可変表示する可変表示器10の表示制御は、表示制御基板80に搭載されている表示制御手段によって行われる。
図5は、CPU56周りの一構成例を示すブロック図である。図5に示すように、第1の電源監視回路(第1の電源監視手段)からの電圧低下信号が、CPU56のマスク不能割込端子(NMI端子)に接続されている。第1の電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電圧低下信号を発生する。VSLは、遊技機で使用される直流電圧のうちで最大のものであり、この例では+30Vである。従って、CPU56は、割込処理によって電源断の発生を確認することができる。なお、この実施の形態では、第1の電源監視回路は、後述する電源基板に搭載されている。
図5には、システムリセット回路65も示されているが、この実施の形態では、システムリセット回路65は、第2の電源監視回路(第2の電源監視手段)も兼ねている。すなわち、リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、第1の電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(第1の電源監視回路が電圧低下信号を出力する電源電圧値よりも低い値)以下になるとローレベルの電圧低下信号を発生する。従って、CPU56は、第1の電源監視回路からの電圧低下信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。なお、この実施の形態では、リセット信号と第2の電源監視回路からの電圧低下信号とは同一の信号である。
図5に示すように、リセットIC651からのリセット信号は、NAND回路947に入力されるとともに、反転回路(NOT回路)944を介してカウンタIC941のクリア端子に入力される。カウンタIC941は、クリア端子への入力がローレベルになると、発振器943からのクロック信号をカウントする。そして、カウンタIC941のQ5出力がNOT回路945,946を介してNAND回路947に入力される。また、カウンタIC941のQ6出力は、フリップフロップ(FF)942のクロック端子に入力される。フリップフロップ942のD入力はハイレベルに固定され、Q出力は論理和回路(OR回路)949に入力される。OR回路949の他方の入力には、NAND回路947の出力がNOT回路948を介して導入される。そして、OR回路949の出力がCPU56のリセット端子に接続されている。このような構成によれば、電源投入時に、CPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、CPU56は、確実に動作を開始する。
そして、例えば、第1の電源監視回路の検出電圧(電圧低下信号を出力することになる電圧)を+22Vとし、第2の電源監視回路の検出電圧を+9Vとする。そのように構成した場合には、第1の電源監視回路と第2の電源監視回路とは、同一の電源VSLの電圧を監視するので、第1の電圧監視回路が電圧低下信号を出力するタイミングと第2の電圧監視回路が電圧低下信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、第1の電源監視回路からの電圧低下信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
この例では、第1の電源監視手段が検出信号を出力することになる第1検出条件は+30V電源電圧が+22Vにまで低下したことであり、第2の電源監視手段が検出信号を出力することになる第2検出条件は+30V電源電圧が+9Vにまで低下したことになる。ただし、ここで用いられている電圧値は一例であって、他の値を用いてもよい。
ただし、監視範囲が狭まるが、第1の電圧監視回路および第2の電圧監視回路の監視電圧として+5V電源電圧を用いることも可能である。その場合にも、第1の電圧監視回路の検出電圧は、第2の電圧監視回路の検出電圧よりも高く設定される。
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電発生時の遊技状態に復帰することができる。
なお、図5では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられる構成が示されたが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
図6は、遊技機の電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、表示制御基板80、音声制御基板70、ランプ制御基板35および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、+22V、+12Vおよび+5Vを生成してコネクタ915に出力する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。なお、トランス911の入力側には、遊技機に対する電源供給を停止したり開始させたりするための電源スイッチ918が設置されている。
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が遮断されたときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち記憶内容保持状態となりうる記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。
なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。
また、電源基板910には、上述した第1の電源監視回路を構成する電源監視用IC902が搭載されている。電源監視用IC902は、VSL電源電圧を導入し、VSL電源電圧を監視することによって電源断の発生を検出する。具体的には、VSL電源電圧が所定値(この例では+22V)以下になったら、電源断が生ずるとして電圧低下信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電圧低下信号は、主基板31や払出制御基板37等に供給される。
電源監視用IC902が電源断を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。よって、+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電源断を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、第1の電源監視回路から複数の電気部品制御基板に電圧低下信号を供給することができる。電圧低下信号を必要とする電気部品制御基板が幾つあっても第1の電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復帰制御を行っても、遊技機のコストはさほど上昇しない。
なお、図6に示された構成では、電源監視用IC902の検出出力(電圧低下信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出出力を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電圧低下信号を必要とする基板数に応じたバッファ回路を設けてもよい。
次に動作について説明する。
図7および図8は、主基板31におけるCPU56の遊技制御を示すフローチャートである。図7はCPU56が実行するメイン処理を示し、図8はタイマ割込処理を示す。電源オン時のリセットが解けると、CPU56は、まず、必要な初期設定処理を行う(ステップS1)。初期設定処理では、スタックポインタの設定、CPU内蔵デバイスや外付けデバイスの初期化等が行われる。
そして、前回の電源断時にバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の停電発生NMI処理)が行われたか否か確認する(ステップS2)。不測の電源断が生じた場合には、後述するようにバックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、CPU56は初期化処理を実行する(ステップS7)。なお、この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電源断時にバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。例えば、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
バックアップRAM領域にバックアップデータがある場合には、CPU56は、バックアップRAM領域のデータチェック(例えばパリティチェック)を行う(ステップS3)。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する(ステップS4,S7)。
チェック結果が正常であれば、CPU56は、内部状態を電源断時の状態に戻すための遊技状態復旧処理を行う(ステップS5)。よって、バックアップフラグの値が「55H」に設定され、かつ、チェック結果が正常である場合に、ステップS5の遊技状態復旧処理が実行される。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
遊技状態復旧処理は遊技状態を電源断時の状態に戻す処理であるが、復旧のためにバックアップRAMに保存されていたデータを用いる。そして、少なくとも大当り決定用カウンタ(ランダム1を生成するためのカウンタ)は、バックアップRAMに保存されている。従って、不測の電源断等からの復旧時に大当り決定用カウンタの値は、電源断時の値から継続してカウントアップが再開される。仮に、遊技機に不正基板が接続されたとしても、不正基板上の回路動作が電源断時の状態から継続するということは考えられない。すなわち、不測の電源断等からの復旧時に、不正基板等を用いて大当りタイミングを予測することがより困難になる。
ステップS7の初期化処理では、RAMクリア処理や、内蔵されているタイマを起動し所定期間後(例えば2ms後)にタイマ割込がかかるように設定する処理等が行われる。初期化処理の実行が完了すると、表示用乱数更新処理(ステップS8)、ランダム1初期値決定用カウンタ更新処理(ステップS9)およびランダム3初期値決定用カウンタ更新処理(ステップS13)を実行する。
図9は、遊技機で用いられる各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:大当りを発生させるか否か決定する(大当り決定用:特定遊技状態決定用)
(2)ランダム2−1〜2−3:左右中のはずれ図柄決定用
(3)ランダム3:大当り時の図柄の組合せを決定する(大当り図柄決定用=態様決定用、識別情報決定用、特別遊技状態決定用)
(4)ランダム4:はずれ時にリーチするか否か決定する(リーチ判定用)
(5)ランダム5:リーチ種類を決定する(リーチ種類決定用)
(6)ランダム6:ランダム1を生成するカウンタの初期値を決定する(ランダム1初期値決定用=初期値決定用)
(7)ランダム7:ランダム3を生成するカウンタの初期値を決定する(ランダム3初期値決定用=特別遊技状態決定用カウンタの初期値決定用,態様決定用カウンタの初期値決定用)
なお、遊技効果を高めるために、上記(1)〜(7)の乱数以外の乱数も用いられている。例えば、普通図柄を表示する可変表示器10の表示結果にもとづいてあたりとするか否か決定するための乱数や、可変表示器10の停止図柄を決定する乱数、いわゆる予告を行うか否かを決定するための乱数等がある。
ステップS8の処理では、(2)のはずれ図柄決定用の乱数、(4)のリーチ判定用の乱数および(5)のリーチ動作用乱数を生成するカウンタのカウントアップ(1加算)が行われる。よって、それらが表示用乱数を生成するためのカウンタである。ただし、ランダム2−2は、ランダム2−1の桁上げが生ずるときに、すなわち、ランダム2−1の値が「15」になって「0」に戻されるときにカウントアップされる。また、ランダム2−3は、ランダム2−2の桁上げが生ずるときに、すなわち、ランダム2−2の値が「15」になって「0」に戻されるときにカウントアップされる。
図8に示すように、タイマ割込が発生すると、タイマ割込処理において、タイマ割込フラグがセットされる(ステップS16)。なお、必要ならば、所定期間後(例えば2ms後)に再度タイマ割込がかかるようにタイマの設定処理が行われる。
CPU56は、メイン処理のステップS10において、タイマ割込フラグがセットされたことを検出すると、タイマ割込フラグをリセットするとともに(ステップS11)、遊技制御処理を実行する(ステップS12)。以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
図10は、ステップS12の遊技制御処理を示すフローチャートである。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,24aの状態を入力し、各入賞口や入賞装置に対する入賞があったか否か判定する(スイッチ処理:ステップS21)。
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS23)。この実施の形態では、図7に示された各乱数を生成するための各カウンタのうち、(1)の大当り決定用乱数および(3)の大当り図柄判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。ただし、大当り図柄判定用乱数を生成するためのカウンタ(大当り図柄決定用カウンタ)のカウントアップは、大当り決定用乱数を生成するためのカウンタ(大当り決定用カウンタ)が最大値に達して初期値に戻されるときにカウントアップされる。なお、この実施の形態では、大当り図柄決定用カウンタは、確変とするか否かを決定するためのカウンタも兼ねている。
CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS24)。なお、ステップS24の処理は、メイン処理におけるステップS8の処理と同じである。
次いで、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
また、CPU56は、表示制御基板80に送出される表示制御コマンド(特別図柄制御コマンドや普通図柄制御コマンド)をRAM55の所定の領域に設定する処理を行った後に、特別図柄制御コマンドや普通図柄制御コマンドを出力する処理を行う(特別図柄コマンド制御処理:ステップS27,普通図柄コマンド制御処理:ステップS28)。
次いで、CPU56は、各種出力データの格納領域の内容を各出力ポートに出力する処理を行う(データ出力処理:ステップS29)。なお、CPU56は、例えばホール管理用コンピュータに出力される大当り情報、始動情報、確率変動情報などの出力データを格納領域に設定する出力データ設定処理などの他の処理も行う。
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。ソレノイド回路59は、駆動指令に応じてソレノイド16,21を駆動し、可変入賞球装置15または開閉板20を開状態または閉状態とする。
また、CPU56は、ステップS9の処理と同じ処理であるランダム1初期値決定用カウンタ更新処理(ステップS31)と、ステップS13の処理と同じ処理であるランダム3初期値決定用カウンタ更新処理(ステップS33)とを行う。
また、CPU56は、各入賞口17,23,19a,24aの検出に基づく賞球数の設定などを行う(ステップS32)。すなわち、所定の条件が成立すると払出制御基板37に払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、払出制御コマンドに応じて球払出装置97を駆動する。
以上のように、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセットされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
なお、ここでは、主基板31のCPU56が実行する遊技制御処理は、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理でセットされるフラグに応じて実行されたが、定期的に(例えば2ms毎)信号を発生するハードウェア回路を設け、その回路からの信号をCPU56の外部割込端子に導入し、割込信号によって遊技制御処理に移行すべきか否かを判定するためのフラグをセットするようにしてもよい。
また、CPU56のリセット入力端子に外部から定期的に(例えば2ms毎に)リセット信号が与えられ、CPU56が、定期的にリセットされる構成であってもよい。
ステップS9およびステップS31のランダム1初期値決定用カウンタ更新処理とは、ランダム6を生成するためのランダム1初期値決定用カウンタを更新(+1)する処理である。また、ステップS13およびステップS33のランダム3初期値決定用カウンタ更新処理とは、ランダム7を生成するためのランダム3初期値決定用カウンタを更新(+1)する処理である。ステップS21〜S32に要する時間は2msよりも短いので、この実施の形態でのタイマ割込周期である2msに達するまでの余り時間で、表示用乱数更新処理、ランダム1初期値決定用カウンタおよびランダム3初期値決定用カウンタの更新処理が繰り返し実行される(ステップS8,S9,S13)。なお、遊技状況が異なるとステップS21〜S32に要する時間も異なってくるので、余り時間は一定時間ではない。
図11は、電源基板910の電源監視回路(電源監視用IC902)からの電圧変化信号にもとづくNMIに応じて実行される停電発生NMI処理の一例を示すフローチャートである。上述したように、遊技機の電源供給が断しVSLの電圧が所定値を下回ると電圧変化信号が電源オフを示すレベルになる。そして、電圧変化信号がそのようなレベルになるとNMIがかかる。
停電発生NMI処理において、CPU56は、まず、停電時などの電源断時直前の割込許可/禁止状態をバックアップするために、割込禁止フラグの内容をパリティフラグに格納する(ステップS41)。次いで、割込禁止に設定する(ステップS42)。停電発生NMI処理ではRAM内容の保存を確実にするためにチェックサムの生成処理を行う。その処理中に他の割込処理が行われたのではチェックサムの生成処理が完了しないうちにCPUが動作し得ない電圧にまで低下してしまうことが考えられるので、まず、他の割込が生じないような設定がなされる。なお、停電発生NMI処理におけるステップS44〜S50は、電力供給停止時処理の一例である。
なお、割込処理中では他の割込がかからないような仕様のCPUを用いている場合には、ステップS42の処理は不要である。
次いで、CPU56は、バックアップフラグが既にセットされているか否か確認する(ステップS42)。バックアップフラグが既にセットされていれば、以後の処理を行わない。バックアップフラグがセットされていなければ、以下の電力供給停止時処理を実行する。すなわち、ステップS44からステップS50の処理を実行する。
まず、各レジスタの内容をバックアップRAM領域に格納する(ステップS44)。その後、バックアップフラグをセットする(ステップS45)。そして、バックアップRAM領域のバックアップチェックデータ領域に適当な初期値を設定し(ステップS46)、初期値およびバックアップRAM領域のデータについて順次排他的論理和をとったあと反転し(ステップS47)、最終的な演算値をバックアップパリティデータ領域に設定する(ステップS48)。また、RAMアクセス禁止状態にする(ステップS49)。電源電圧が低下していくときには、各種信号線のレベルが不安定になってRAM内容が化ける可能性があるが、このようにRAMアクセス禁止状態にしておけば、バックアップRAM内のデータが化けることはない。なお、上述したように、乱数を発生するためのカウンタのうち少なくとも大当り決定用カウンタはバックアップRAMに設けられている。もちろん、乱数を発生するためのすべてのカウンタをバックアップRAMに設けてもよい。
さらに、CPU56は、主基板31に搭載されている全ての出力ポートに対してクリア信号を出力する。すると、全ての出力ポートは、クリア信号によりクリアされオフ状態とされる(ステップS50)。このように、電源断処理の際に出力ポートをクリアする構成としたことで、停止状態となる前に大入賞口を閉成させることができる。さらに、停止状態となる前に可変入賞球装置15を閉成させるなど、他の電気部品についても作動を停止させた状態で電源断状態とすることができる。従って、主基板31により制御される各電気部品を適切な動作停止状態とすることができる。なお、出力ポートの一部をクリアする構成としてもよい。
次いで、CPU56は、ループ処理にはいる。すなわち、何らの処理もしない状態になる。従って、図5に示されたリセットIC651からのシステムリセット信号によって外部から動作禁止状態にされる前に、内部的に動作停止状態になる。よって、電源断時に確実にCPU56は動作停止する。その結果、上述したRAMアクセス禁止の制御および動作停止制御によって、電源電圧が低下していくことに伴って生ずる可能性がある異常動作に起因するRAMの内容破壊等を確実に防止することができる。
なお、この実施の形態では、停電発生NMI処理では最終部でプログラムをループ状態にしたが、ホールト(HALT)命令を発行するように構成してもよい。
また、レジスタの内容をRAM領域に格納した後にセットされるバックアップフラグは、上述したように、電源投入時において復旧すべきバックアップデータがあるか否か(停電からの復旧か否か)を判断する際に使用される。また、ステップS41からS50の処理は、CPU56がシステムリセット回路65からのシステムリセット信号を受ける前に完了する。換言すれば、システムリセット回路65からのシステムリセット信号を受ける前に完了するように、電圧監視回路の検出電圧の設定が行われている。
この実施の形態では、電力供給停止時処理開始時に、バックアップフラグの確認が行われる。そして、バックアップフラグが既にセットされている場合には電力供給停止時処理を実行しない。上述したように、バックアップフラグは、必要なデータのバックアップが完了し、その後電力供給停止時処理が完了したことを示すフラグである。従って、例えば、リセット待ちのループ状態で何らかの原因で再度NMIが発生したとしても、電力供給停止時処理が重複して実行されてしまうようなことはない。
ただし、割込処理中では他の割込がかからないような仕様のCPUを用いている場合には、ステップS43の判断は不要である。
次に、始動入賞口14への入賞(始動入賞)にもとづいて可変表示部9に可変表示される図柄の決定方法について図12〜図14のフローチャートを参照して説明する。図12は打球が始動入賞口14に入賞したことを判定する処理を示し、図13は図柄や変動態様を決定する処理を示し、図14は大当り判定の処理を示す。なお、図12〜図14に示す処理は、図10に示された遊技制御処理における特別図柄プロセス処理(ステップS25)において実行される。
打球が遊技盤6に設けられている始動入賞口14に入賞すると、始動口スイッチ17がオンする。CPU56は、スイッチ回路58およびI/Oポート57を介して始動口スイッチ17がオンしたことを検出すると(ステップS41)、始動入賞記憶数が始動記憶上限値に達しているかどうか確認する(ステップS42)。始動入賞記憶数が始動記憶上限値に達していなければ、始動入賞記憶数を1増やす(ステップS43)。なお、この実施の形態では、始動記憶上限値は4である。
そして、ランダム1を生成するためのカウンタの値を抽出し、抽出値を、各始動入賞記憶数s(s=1,2,3,・・・,始動記憶上限値)に対応して設けられている乱数値格納エリアに格納する(ステップS44)。なお、始動入賞記憶数が始動記憶上限値に達している場合には、ステップS43〜S44の処理を行わない。
CPU56は、画像表示部9の可変表示を開始できる状態になると図13のフローチャートに示す処理を行う。すなわち、CPU56は、まず、始動入賞記憶数の値を確認する(ステップS50)。始動入賞記憶数が0でなければ、始動入賞記憶数=1に対応する乱数値格納エリアに格納されている値を読み出すとともに(ステップS51)、始動入賞記憶数の値を1減らし、かつ、各乱数値格納エリアの値をシフトする(ステップS52)。すなわち、始動入賞記憶数=s(s=2,3,・・・)に対応する乱数値格納エリアに格納されている値を、始動入賞記憶数=s−1に対応する乱数値格納エリアに格納する。
そして、CPU56は、ステップS51で読み出した値、すなわち抽出されている大当り決定用乱数の値にもとづいて当たり/はずれを決定する(ステップS53)。この実施の形態では、大当り決定用乱数は0〜316の範囲の値をとることにする。そして、図14に示すように、低確率時には例えばその値が「3」である場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。高確率時には例えばその値が「3」,「7」,「79」,「103」,「107」のいずれかである場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。
大当りと判定されたときには、CPU56は、大当り図柄決定用乱数(ランダム3)の値にもとづいて停止図柄を決定する。この実施の形態では、左右中の図柄表示エリアに可変表示される図柄の種類は、それぞれ12種類あるとする。そして、左右中の停止図柄が揃う場合に大当りが生ずるとする。また、左右中の図柄が特定種類の図柄で揃った場合に確変状態に突入することにする。図柄種類が図柄番号0〜11で指定されるとすると、特定種類の図柄は例えば奇数番号の図柄である。
停止図柄の組み合わせが決定されると、ランダム5の値に従ってリーチ種類を決定する(ステップS65)。そして、大当りとするか否か、確変とするか否か、大当りの場合の図柄、およびリーチ種類を所定の格納エリアに設定する。なお、格納エリアは、基本回路53におけるRAM55に設けられる。
ステップS53においてはずれと判定されていた場合には、CPU56は、リーチとするか否か判定する(ステップS59)。例えば、図9に示すリーチ判定用乱数の値が「0」〜「104」のいずれかである場合にはリーチとすることに決定する。リーチとすることに決定したときには、CPU56は、停止図柄の決定を行う。この実施の形態では、ランダム2−1の値に従って左右図柄を決定する(ステップS60)。また、ランダム2−2の値に従って中図柄を決定する(ステップS61)。ここで、決定された中図柄が左右図柄と一致した場合には、中図柄に対応した乱数の値に1加算した値に対応する図柄を中図柄の確定図柄として、大当り図柄と一致しないようにする。
さらに、CPU56は、ランダム5の値に従ってリーチ種類を決定する(ステップS65)。そして、所定の格納エリアに「リーチ」、リーチ図柄、およびリーチ種類を設定する。ステップS59における抽選結果がはずれである場合には、ランダム2−1〜2−3の値に従って左右中図柄を決定し(ステップS63)、所定の格納エリアに、はずれ図柄およびはずれであることを設定する。
なお、この実施の形態では、リーチとするか否かを決定し、その後、停止図柄を決定するが、左右中図柄の停止図柄を決定し、左右図柄が一致したらリーチすることにし、そうでなければはずれとすることに決定してもよい。
図15は、CPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図15に示す特別図柄プロセス処理は、図10のフローチャートにおけるステップS24の具体的な処理である。CPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)を行った後に、内部状態に応じて、ステップS300〜S309のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
ステップS310の変動短縮タイマ減算処理は、特別図柄の変動時間短縮の条件(例えば、始動入賞記憶数が最大値である4に達している場合であって、その最大値に達してから所定時間が経過している場合)を満たしているか否かを確認し、満たしている場合には変動短縮タイマを減算する処理を行う。そして、ステップS300〜S309の各処理において、以下のような処理が実行される。
特別図柄変動待ち処理(ステップS300):始動入賞口14(この実施の形態では可変入賞球装置15の入賞口)に打球入賞して始動口センサ17がオンするのを待つ。始動口センサ17がオンすると、始動入賞記憶数が満タンでなければ、始動入賞記憶数を+1するとともに大当り決定用乱数を抽出する。すなわち、図12に示された処理が実行される。
特別図柄判定処理(ステップS301):特別図柄の可変表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、抽出されている大当り決定用乱数の値に応じて大当りとするかはずれとするか決定する。すなわち、図13に示された処理の前半が実行される。
停止図柄設定処理(ステップS302):左右中図柄の停止図柄を決定する。すなわち、図13に示された処理の中半が実行される。
リーチ動作設定処理(ステップS303):リーチ判定用乱数の値に応じてリーチ動作するか否か決定するとともに、リーチ種類決定用乱数の値に応じてリーチ時の変動期間を決定する。すなわち、図13に示された処理の後半が実行される。
全図柄変動開始処理(ステップS304):可変表示部9において全図柄が変動開始されるように制御する。このとき、表示制御基板80に対して、左右中最終停止図柄と変動態様を指令する情報とが送信される。処理を終えると、内部状態(プロセスフラグ)をステップS305に移行するように更新する。
全図柄停止待ち処理(ステップS305):所定時間(ステップS310の変動短縮タイマで示された時間)が経過すると、可変表示部9において表示される全図柄が停止されるように制御する。そして、停止図柄が大当り図柄の組み合わせである場合には、内部状態(プロセスフラグ)をステップS306に移行するように更新する。そうでない場合には、内部状態をステップS300に移行するように更新する。
大入賞口開放開始処理(ステップS306):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、大当りフラグ(大当り中であることを示すフラグ)のセットを行う。処理を終えると、内部状態(プロセスフラグ)をステップS307に移行するように更新する。
大入賞口開放中処理(ステップS307):大入賞口ラウンド表示の表示制御コマンドデータを表示制御基板80に送出する制御や大入賞口の閉成条件の成立を確認する処理等を行う。最終的な大入賞口の閉成条件が成立したら、内部状態をステップS308に移行するように更新する。
特定領域有効時間処理(ステップS308):Vカウントスイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS306に移行するように更新する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、内部状態をステップS309に移行するように更新する。
大当り終了処理(ステップS309):大当り遊技状態が終了したことを遊技者に報知するための表示を行う。その表示が終了したら、内部状態をステップS300に移行するように更新する。
上述したように、始動入賞口14に打球が入賞すると、CPU56は、特別図柄プロセス処理において、大当りとするかはずれとするか、停止図柄、リーチ態様、確変とするかしないかを決定するが、その決定に応じた表示制御コマンドなどの制御コマンドを、表示制御手段などの電気部品制御手段に送出する。例えば表示制御手段では、主基板31からの表示制御コマンドに応じて可変表示部9の表示制御が行われる。そして、この実施の形態では、確変とするかしないかは、決定された停止図柄の種類によって決められる。すなわち、大当り図柄決定用乱数であるランダム3が、確変とするかしないかを決定するための乱数としても使用されている。
実施の形態1.
図16は、図10に示された遊技制御処理における判定用乱数更新処理(ステップS23)を示すフローチャートである。判定用乱数更新処理において、CPU56は、ランダム1(大当り決定用乱数)を生成するカウンタの値を+1する(ステップS101)。ランダム1を生成するカウンタの値が(最大値+1)になっている場合には(ステップS102)、カウンタ値を0に戻す(ステップS103)。なお、この実施の形態では、(最大値+1)は317である。
次いで、CPU56は、ランダム1を生成するカウンタの値が初期値として保存されている値と一致したか否か確認する(ステップS104)。一致していなければ、カウンタ値はそのままである。一致していた場合には、ランダム6を抽出する(ステップS105)。すなわち、ランダム6を生成するためのカウンタのカウント値を入力する。そして、抽出された値を初期値として保存するとともに(ステップS106)、抽出された値を、ランダム1を生成するカウンタに設定する(ステップS107)。よって、この時点で、ランダム1を生成するカウンタの初期値が変更される。なお、遊技機に電源が投入されたときには一般には初期値として「0」が保存されるが、バックアップRAMにランダム1の値が保存されていた場合には電源投入時に保存値に戻される。
そして、ランダム3(大当り図柄決定用乱数)を生成するカウンタの値を+1する(ステップS108)。ランダム3を生成するカウンタの値が(最大値+1)になっている場合には(ステップS109)、カウンタ値を0に戻す(ステップS110)。なお、この実施の形態では、(最大値+1)は12である。
次いで、CPU56は、ランダム3を生成するカウンタの値が初期値として保存されている値と一致したか否か確認する(ステップS111)。一致していなければ、カウンタ値はそのままである。一致していた場合には、ランダム7を抽出する(ステップS112)。すなわち、ランダム7を生成するためのカウンタのカウント値を入力する。そして、抽出された値を初期値として保存するとともに(ステップS113)、抽出された値を、ランダム3を生成するカウンタに設定する(ステップS114)。よって、この時点で、ランダム3を生成するカウンタの初期値が変更される。なお、遊技機に電源が投入されたときには一般には初期値として「0」が保存されるが、バックアップRAMにランダム3の値が保存されていた場合には電源投入時に保存値に戻される。
図17は、図16に示された判定用乱数更新処理によって変化するランダム1を生成するカウンタの値の一例を示す説明図である。この例では、ランダム1の最初の値は0になっている。また、最初は初期値として「0」が保存されているので、カウンタ値が「316」まで進み、そこで+1されて値が0に戻ると(ステップS101,S102,S103)、ステップS104の処理でカウンタ値が初期値と一致したことが検出される。すると、ステップS105の処理でランダム6が抽出される。なお、この時点は、図17においてAで示されている。さらに、大当り図柄を決定するためのランダム3の値が+1される。
ここで、その時点のランダム6を生成するカウンタのカウント値が「19」であったとする。すると、ランダム6として「19」が抽出され、その値が保存されるとともに(ステップS106)、ランダム1を生成するカウンタにその値が設定される。従って、この時点から、ランダム1を生成するカウンタは、初期値「19」から歩進することになる。
ランダム1を生成するカウンタの値が再び「19」になると、ステップS104の処理でカウンタ値が初期値と一致したことが検出される。すると、ステップS105の処理でランダム6が抽出される。なお、この時点は、図17においてBで示されている。その時点のランダム6を生成するカウンタのカウント値が「195」であったとする。すると、ランダム6として「195」が抽出され、その値が保存されるとともに(ステップS106)、ランダム1を生成するカウンタにその値が設定される。従って、この時点から、ランダム1を生成するカウンタは、初期値「195」から歩進する。また、大当り図柄を決定するためのランダム3の値が+1される。
そして、ランダム1を生成するカウンタの値が再び「195」になると、ステップS104の処理でカウンタ値が初期値と一致したことが検出される。すると、ステップS105の処理でランダム6が抽出される。なお、この時点は、図17においてCで示されている。その時点のランダム6を生成するカウンタのカウント値が「x」であったとする。すると、ランダム6として「x」が抽出され、その値が保存されるとともに(ステップS106)、ランダム1を生成するカウンタにその値が設定される。従って、この時点から、ランダム1を生成するカウンタは、初期値「x」から歩進する。また、大当り図柄を決定するためのランダム3の値が+1される。
その後周回が進んで、ランダム1を生成するカウンタの値が保存されている初期値と一致し、図17においてDで示されている時点に達したとする。その時点のランダム6を生成するカウンタのカウント値が「y」であったとする。すると、ランダム6として「y」が抽出され、その値が保存されるとともに(ステップS106)、ランダム1を生成するカウンタにその値が設定される。従って、この時点から、ランダム1を生成するカウンタは、初期値「y」から歩進する。また、大当り図柄を決定するためのランダム3の値が+1される。
なお、図17において、星印(☆)は、カウンタ値が「3(低確率時の大当り判定値)」となる位置を示している。
以上のように、ランダム1を生成するカウンタの値が1周(317カウント)する度に、カウント値として新たな初期値が設定され、以後、カウンタはその値から歩進していく。ランダム1を生成するカウンタすなわち大当り決定用カウンタの初期値を決定するためのカウンタ(ランダム6を生成するためのカウンタ)は、CPU56が実行する遊技制御処理の余り時間(遊技制御処理が終了してから次にタイマ割込が発生するまでの時間)でカウントアップされている。そして、その余り時間は、遊技の進行状況に応じて異なるので、ランダムな期間になっている。その結果、生成されるランダム6の値もランダムな値になるので、大当り決定用カウンタの初期値もランダムに変化する。
つまり、大当り決定用カウンタの値が1周する度に、ランダムな初期値からあらためてカウンタの歩進が始まる。すると、不正基板が主基板31に接続され、主基板31から出力される信号にもとづいて大当り決定用カウンタ値更新タイミングが認識されたとしても、大当り決定用カウンタ値が大当り判定値になるタイミングをねらって不正な始動入賞信号を主基板31に送り込むことは困難になる。この実施の形態によれば、図17に星印で示されたように、大当り決定用カウンタ値が大当り判定値になるタイミングに規則性はなくランダムになっているからである。
さらに、この実施の形態で特徴的なことは、大当り図柄を決定するためのカウンタのカウント値(ランダム3を抽出するためのカウント値)が、ランダム1を生成するカウンタの値が1周(317カウント)する度にカウントアップされるとともに、ランダム3を抽出するためのカウント値が1周(この例では0〜11)すると、初期値が変更されることである。このような制御によって、大当りとすることが決定されたときに、停止図柄をランダムに発生させることができる。この実施の形態では停止図柄が図柄番号奇数の図柄である場合に確変状態に突入するので、結局、確変状態にするための条件をランダムに発生させることができることになる。
以下、確変状態にするための条件をランダムに発生させることができることについて、より詳しく説明する。
図17に示す例において、ランダム3の初期値が「3」であったとすると、図17の最上段(1周目)に示すようにランダム1が0〜316まで進む間、ランダム3の値は「3」になっている。従って、1周目で大当りが発生した場合には、停止図柄は図柄番号3の図柄である。図柄番号が奇数であるから、1周目で大当りが発生した場合には確変とすることに決定される。
図17の上から2段目(2周目)に示すようにランダム1が19〜18まで進む間、ランダム3の値は「4」になっている。従って、2周目で大当りが発生した場合には、停止図柄は図柄番号4の図柄である。図柄番号が偶数であるから、2周目で大当りが発生した場合には確変としないことに決定される。
図17の上から3段目(3周目)に示すようにランダム1が195〜194まで進む間、ランダム3の値は「5」になっている。従って、3周目で大当りが発生した場合には、停止図柄は図柄番号5の図柄である。図柄番号が奇数であるから、3周目で大当りが発生した場合には確変とすることに決定される。
図17の上から4段目(4周目)に示すようにランダム1がn〜n−1まで進む間、ランダム3の値は「6」になっている。従って、4周目で大当りが発生した場合には、停止図柄は図柄番号6の図柄である。図柄番号が偶数であるから、4周目で大当りが発生した場合には確変としないことに決定される。
以上のように、この実施の形態では、大当り決定用カウンタの値が1周する毎に大当たり図柄決定用カウンタの値が+1される。そして、そのような制御を行うことによって、例えば図柄が12種類あって、そのうちの半分(図柄番号奇数の分)の図柄を確変図柄とする場合、確変突入の確率は1/2になることが保証される。すなわち、確変状態にするための条件を偏りなく発生させることができる。
周回が進んで、ランダム1を生成するカウンタの値が保存されている初期値と一致し、図17においてDで示されている時点に達したとする。その時点で、ランダム3を生成するためのカウンタのカウント値が保存されている初期値と一致したとする(ステップS111)。すると、ランダム7が抽出され、その値が新たな初期値として保存されるとともに、ランダム3を生成するためのカウンタに設定される。ランダム7の抽出値が「z」であったとすると、ランダム3に初期値として「z」が設定される。すなわち、この時点で(ランダム3を生成するためのカウンタのカウント値が1周した時点で)、初期値が変更される。その後、再びランダム3を生成するためのカウンタのカウント値が1周した時点で初期値が変更される。
この実施の形態では、大当り図柄決定用乱数が、確変とするか否かを決定するための乱数としても使用されているが、そのような場合に限られず、確変とするか否かを決定するための乱数が、図柄決定のための乱数とは別に用意されていても、確変突入の確率を設計値通りに実現することができる。その場合には、大当り決定用カウンタの値が1周する毎に、確変とするか否かを決定するための乱数を生成するためのカウンタの値が+1されるとともに、確変とするか否かを決定するための乱数を生成するためのカウンタの値が保存されている初期値と一致すると、新たな初期値がカウンタに設定される。
大当りとするか否かを決定するための乱数を生成するためのカウンタが、従来通り2msに1回カウントアップされる場合には、大当たり図柄に偏りが生ずる可能性がある。また、確変とするか否かを決定するための乱数を生成するためのカウンタが、従来通り2msに1回カウントアップされる場合には、確変突入率が設計値通りにならない可能性がある。
大当り決定用乱数が大当り判定値と一致するタイミングがばらつく結果、そのタイミングにおいて大当り図柄決定用乱数の値が均等に発生すること、または、確変/非確変の決定のための乱数の値が均等に発生することが保証できないからである。また、2msに対する遊技制御処理の残余時間にあまりばらつきがない場合には、抽選の結果、確変図柄が連続的に発生してしまう等の可能性もある。
しかし、この実施の形態では、大当り決定用乱数が大当り判定値と一致するタイミングにおいて全ての大当り図柄決定用乱数の値が均等に生ずることが保証されている。従って、大当り図柄の種類で確変/非確変を決定する場合には、大当り図柄決定用乱数の値が均等に発生するので、確変が生ずる確率は設計値通りになる。また、確変/非確変の決定のための乱数が別個に用意されている場合でも、確変/非確変の決定のための乱数の値が均等に生じ、確変が生ずる確率が設計値通りになることが保証される。
また、ランダム3を生成するためのカウンタのカウント値が1周する毎に初期値が変更されるので、長い期間でみると、ランダム1が大当り判定値と一致した時点でのランダム3の値は、ランダムに生じていることになる。ランダム3を生成するためのカウンタの初期値を変更する制御がなされない場合には、ランダム3を生成するためのカウンタのカウント値は、ランダム1を生成するためのカウンタのが1周する毎に常に順序よくカウントアップしていく。すると、ランダム3の特定値を狙った遊技を行いやすくなる。例えば、図柄番号奇数の分の図柄を確変図柄とする遊技機では、ランダム3が偶数値(非確変に対応)である期間を狙いやすくなる。そして、その期間において遊技者が遊技を中断することによって、結果的にランダム3の奇数値を狙った遊技が行われ、遊技機の稼働率が低下する。しかし、この実施の形態では、所定の条件の成立に応じてランダム3を生成するためのカウンタの初期値がランダムに変更されるので、ランダム3の特定の値を狙うような行為を効果的に防止することができる。
なお、この実施の形態では大当り決定用カウンタの値が一周したらランダム3の値を+1したが、大当り決定用カウンタの値が所定の複数周したらランダム3の値を+1するようにしてもよい。また、大当り決定用カウンタの値についても1周したら初期値が変更されたが、所定の複数周したら初期値を変更するようにしてもよい。すなわち、大当り決定用カウンタの値がN(N:自然数)周したら初期値が変更され、大当り決定用カウンタの値がn(n:自然数)周したらランダム3の値が+1されるように遊技機を構成することができる。その場合、n=Nであってもよいし、n≠Nであってもよい。
また、大当り図柄決定用カウンタや特別遊技状態決定用カウンタのカウント値が1周すると初期値が変更されるのではなく、カウント値が2以上のM(M:自然数)周したら初期値が変更されるようにしてもよい。ここで、MはNやnと同じ値であってもよいし異なる値であってもよい。また、この実施の形態のように大当り図柄決定用カウンタや特別遊技状態決定用カウンタのカウント値は無限ループで更新され続けるように構成してもよいし、他の乱数を発生するためのカウンタの桁上げが生じた時点であってもよい。
さらに、大当り図柄決定用カウンタと確変等にするか否かを決定するための特別遊技状態決定用カウンタとが別個のカウンタである場合、大当り決定用カウンタの値がn周したら特別遊技状態決定用カウンタおよび大当り図柄決定用カウンタを+1するように構成してもよい。しかし、特別遊技状態決定用カウンタのカウント値は大当り決定用カウンタの値がn周したらカウントアップされ、特別遊技状態決定用カウンタのカウント値がm(m:自然数)周する毎に大当り図柄決定用カウンタを+1するようにしてもよい。この場合、mはNやnと同じ値であってもよいし異なる値であってもよい。そのような制御を行っても、大当り発生時に、特別遊技状態決定用カウンタのカウント値が均等に生ずること、および、大当り図柄決定用カウンタのカウント値が均等に生ずることが保証される。また、大当り図柄決定用カウンタと確変等にするか否かを決定するための特別遊技状態決定用カウンタとが別個のカウンタである場合でも、双方のカウンタが、大当り決定用カウンタの値がn周したらカウントアップされるようにしてもよい。
なお、大当り図柄決定用カウンタや特別遊技状態決定用カウンタの更新範囲(この例では0〜11の12カウント)と、大当り決定用カウンタ(特定遊技状態決定用カウンタ)の更新範囲(この例では0〜316の317カウント)とは互いに素であることが好ましい。互いに素であれば、この実施の形態のように双方についての初期値用カウンタの更新タイミングが同じであっても、初期値が同期しないからである。
実施の形態2.
上記の実施の形態では、大当り決定用カウンタの初期値を決定するためのカウンタ(ランダム1初期値決定用カウンタ)および大当り図柄決定用カウンタの初期値を決定するためのカウンタ(ランダム3初期値決定用カウンタ)の値は、ランダム性を確保するために、遊技制御処理の余り時間でカウントアップされた。しかし、特定遊技状態決定用カウンタに関する初期値用カウンタを更新する更新手段および特別遊技状態決定用カウンタ(または大当り図柄決定用カウンタ)に関する初期値用カウンタを更新する更新手段は、初期値を決定するためのカウンタの値のランダム性が確保されればどのように構成されていてもよい。例えば、CPU56に2msの割込信号とは同期しない信号が存在すれば、その信号にもとづいて初期値を決定するためのカウンタの値を更新してもよい。
図18は、CPU56の外部で発生されるクロック信号であってタイマ割込周期とは同期しないクロック信号がCPU56に入力されている例が示されている。図18に示された例では、発振回路68から周期0.89msのクロック信号がCPU56の割込端子に入力されている。発振回路68は、CPU56とは別個の回路であるから、周期0.89msのクロック信号はCPU56内部のタイマ割込の周期とは同期しない。
発振回路68からクロックが入力されると、CPU56は、図19に示す割込処理を行う。割込処理では、高速カウンタ1および高速カウンタ2の値が+1される(ステップS121)。そして、高速カウンタの値が317になったら(ステップS122)、0に戻される(ステップS123)。高速カウンタ1は、特定遊技状態決定用カウンタに関する初期値用カウンタに相当する。また、高速カウンタ2は、特別遊技状態決定用カウンタ(または大当り図柄決定用カウンタ)に関する初期値用カウンタに相当する。
この実施の形態では、メイン処理は図20に示すように実行される。すなわち、ランダム1初期値決定用カウンタおよびランダム3初期値決定用カウンタの更新は図19に示された外部割込にもとづく割込処理で更新されるので、第1の実施の形態におけるメイン処理(図7)で行われたランダム1初期値決定用カウンタ更新処理およびランダム3初期値決定用カウンタ更新処理(ステップS9,S13)は実行されない。また、この実施の形態では、遊技制御処理において、ランダム1初期値決定用カウンタ更新処理およびランダム3初期値決定用カウンタ更新処理(ステップS31,S33)は実行されない。
図21は、この実施の形態における判定用乱数更新処理を示すフローチャートである。図21に示すように、ランダム1を生成するカウンタの値が初期値として保存されている値と一致した場合には(ステップS104)、高速カウンタ1の値が抽出され(ステップS105A)、その値が初期値として保存される(ステップS106)。また、ランダム3を生成するカウンタの値が初期値として保存されている値と一致した場合には(ステップS111)、高速カウンタ2の値が抽出され(ステップS112A)、その値が初期値として保存される(ステップS113)。その他の処理は、第1の実施の形態の場合と同様である。
この実施の形態では、CPU56はタイマ割込の周期とは同期しないクロック信号にもとづいて大当り決定用カウンタの初期値および大当り図柄決定用カウンタの初期値を決定するが、クロック信号の周期がタイマ割込の周期とは同期しないことから、大当り決定用カウンタの歩進に対して高速カウンタのカウント値はランダムである。よって、大当り決定用カウンタおよび大当り図柄決定用カウンタの初期値もランダムになって、第1の実施の形態の場合と同様に、大当り決定用カウンタ値が大当り判定値になるタイミングをねらって不正な始動入賞信号を主基板31に送り込むことは困難になる。また、確変図柄をねらった不正行為を行うことも困難になる。
以上のように、上記の各実施の形態によれば、大当り決定用カウンタがN(N:自然数)周する毎にランダムに初期値が変更されるので、大当り決定用カウンタの値が大当り判定値と一致する時期はランダムになる。従って、外部においてその時期を予測することが困難になって、遊技機は、不正行為を受けにくいものとなる。また、大当り決定用カウンタの初期値は適宜変更されるものの、カウント値は各初期値から1周または複数周歩進し、かつ、ランダム1初期値決定用カウンタの範囲は大当たり決定用カウンタの範囲と同じなので、大当り発生確率が変化してしまうことはない。
また、大当り図柄を決定するためのカウンタや確変や時短等の特別遊技状態を決定するためのカウンタのカウント値が大当り決定用カウンタがn(n:自然数)周する毎にカウントアップされることによって、大当り決定のタイミングがランダムになっても、大当り決定時における大当り図柄を決定するためのカウンタのカウント値は均等に生じ、大当り図柄に偏りが生ずることはない。また、大当り決定時における特別遊技状態を決定するためのカウンタのカウント値は均等に生じ、偏りが生ずることはない。
さらに、確変や時短等の特別遊技状態を決定するためのカウンタの初期値は、カウンタがM(M:自然数)周する毎に変更されることになるので、特別遊技状態の発生を狙うような不正行為を効果的に排除できる。
また、大当り図柄決定用カウンタと確変等にするか否かを決定するための特別遊技状態決定用カウンタとが別個のカウンタである場合、特別遊技状態決定用カウンタのカウント値は大当り決定用カウンタの値がn周したらカウントアップされ、特別遊技状態決定用カウンタのカウント値がm(m:自然数)周する毎に大当り図柄決定用カウンタを+1するように構成すれば、大当り図柄決定用カウンタと特別遊技状態決定用カウンタとが別個にあっても、大当り発生時に、特別遊技状態決定用カウンタのカウント値が均等に生ずること、および、大当り図柄決定用カウンタのカウント値が均等に生ずることが保証される。
また、大当り決定用カウンタの初期値を決めるためのカウンタ(ランダム1初期値決定用カウンタ)は、図7等に示されたように無限ループ(ステップS8〜S10のループ)で更新されるとともに、図10に示されたように遊技制御処理でも更新される。従って、所定期間(例えば2ms)に1回は更新されることが保証される。
また、上記の各実施の形態では、特別遊技状態として所定の条件が成立すると「大当り」が生ずる可能性が高まる確変状態を例にしたが、所定の条件が成立すると可変表示部における可変表示時間(変動時間)が短縮される時短状態等の他の特別遊技状態を使用する遊技機であっても本発明を適用できる。さらに、特別遊技状態として複数の態様(例えば、時短回数の種類が複数)がある遊技機についても本発明を適用できる。すなわち、特別遊技状態を発生させることになるタイミングのランダム性が向上しているので、例えば特別遊技状態のうちの最も有利な状態を狙うような不正行為が防止される。
なお、上記の各実施の形態の遊技機、すなわち図1の正面図に示されたパチンコ遊技機は、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。さらに、パチンコ遊技機に限られず、遊技者に有利な遊技状態に変化可能であり、さらにより有利な遊技状態も備えた遊技機であれば本発明を適用できる。
また、可変表示部9の実現手段はいかなるものでもよく、例えば、CRTやLED等の表示器によって実現することができるし、ドラム式やベルト式の可変表示装置を用いてもよい。
また、上記の各実施の形態では、抽出された各乱数の値をそのまま用いて、大当り判定を行ったり、大当り決定用カウンタの初期値を変更したり周回数を変更したりした。しかし、抽出された乱数を用いて、各乱数値に応じた各数値があらかじめ設定されているテーブルの内容を検索し、テーブルから検索された数値を用いて、大当り判定、大当り決定用カウンタの初期値の変更、大当り決定用カウンタの周回数の決定などを行ってもよい。