<全体構成>
まず、図1を用いて、本発明の実施例1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面(遊技者側)から見た状態を示す略示正面図である。
パチンコ機100は、遊技領域104を覆う閉状態および該遊技領域104を開放する開状態のうちの一方から他方に開閉状態を変化可能なガラス枠151と、このガラス枠151の奥側に視認可能に配設された遊技盤(盤面)102を備えている。この遊技盤102には、遊技球(以下、単に球と称する場合がある。)を遊技盤102の中央に位置する遊技領域104に案内するための外レール106と内レール108を配設している。
遊技領域104の中央やや上側には、横長の装飾図柄表示装置110を配設し、この装飾図柄表示装置110の右下には、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留ランプ116と、特別図柄保留ランプ118と、高確中ランプ120を配設している。なお、以下、普通図柄を普図、特別図柄を特図と称する場合がある。
装飾図柄表示装置110は、装飾図柄(図3(b)参照)を表示するための表示装置であり、本実施例では液晶表示装置によって構成する。この装飾図柄表示装置110は、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cの3つの表示領域に分割し、各々の表示領域110a、110b、110cに異なった装飾図柄を表示することを可能としている。
普図表示装置112は、普図(図3(c)参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。特図表示装置114は、特図(図3(a)参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。
普図保留ランプ116は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、普図変動遊技の開始を2つまで保留することを可能としている。特図保留ランプ118は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、特図変動遊技の開始を4つまで保留することを可能としている。高確中ランプ120は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
また、これらの表示装置やランプの周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。
一般入賞口122は、本実施例では左右に2つずつ配設しており、この一般入賞口122への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置154を駆動し、所定の個数(本実施例では10個)の球を賞球として後述する貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を賞球、遊技者に貸し出す球を貸球と区別して呼ぶ場合があり、賞球と貸球を総称して球(遊技球)と呼ぶ。
普図始動口124は、ゲートやスルーチャッカーと呼ばれる、遊技領域104の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では左右に1つずつ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の球検出センサが検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
第1特図始動口126は、本実施例では中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサが検出した場合、後述する払出装置154を駆動し、所定の個数(本実施例では3個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施例では第1特図始動口126の真下に1つだけ配設している。この第2特図始動口128は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサが検出した場合、後述する払出装置154を駆動し、所定の個数(本実施例では5個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
可変入賞口130は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技領域104の中央部下方に1つだけ配設している。この可変入賞口130は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130への入球を所定の球検出センサが検出した場合、後述する払出装置154を駆動し、所定の個数(本実施例では15球)の球を賞球として後述する貯留皿144に排出する。なお、可変入賞口130に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材132や、遊技釘134を複数個、配設していると共に、内レール108の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口136を設けている。
遊技盤102の下方には、後述する発射モータ452によって回動する発射杆138と、この発射杆138の先端部に取り付けられて球を遊技領域104に向けて打ち出す発射槌140と、この発射槌140によって打ち出す球を外レール106に導くための発射レール142と、球を一時的に貯留すると共に、貯留している球を順次、発射レール142に供給するための貯留皿144と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に上述の装飾図柄表示装置110などによる演出表示を変化させるためのチャンスボタン146を配設している。
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。
このパチンコ機100は、遊技者が貯留皿144に貯留している球を発射レール142の発射位置に供給し、遊技者の操作ハンドル148の操作量に応じた強度で発射モータ452を駆動し、発射杆138および発射槌140によって外レール106、内レール108を通過させて遊技領域104に打ち出す。そして、遊技領域104の上部に到達した球は、打球方向変換部材132や遊技釘134などによって進行方向を変えながら下方に落下し、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口124を通過するのみでアウト口136に到達する。
図2は、パチンコ機100を背面側から見た外観斜視図である。
パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク152と、この球タンク152の下方に位置し、球タンク152の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置154に導くためのタンクレール153と、を配設している。また、払出装置154は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158を備えている。スプロケット157は、モータによって回転可能に構成しており、タンクレール153を通過して払出装置154内に落下する球を一時的に滞留すると共に、モータを駆動することによって所定角度だけ回転することにより、一時的に滞留した球を払出装置154の下方へ1個ずつ送り出すように構成している。また、払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
また、払出装置154の左側には、後述する主制御部300を構成する主基板161と、後述する演出制御部350を構成するサブ基板164を配設している。また、これら主基板161とサブ基板164の下方には、後述する発射制御部450を構成する発射基板166と、後述する電源管理部500を構成する電源基板162と、後述する払出制御部400を構成する払出基板165と、この払出基板165に接続したCRインターフェース部163を配設している。
<図柄の種類>
次に、図3(a)〜(c)を用いて、パチンコ機100の特図表示装置114、装飾図柄表示装置110、普図表示装置112が停止表示する特図および普図の種類について説明する。
図3(a)は特図の停止表示態様の一例を示したものである。本実施例の特図の停止表示態様には、特別大当たり図柄である特図1と、大当たり図柄である特図2と、外れ図柄である特図3の3種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置114は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す特図の変動表示を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技(特別大当たり遊技)の当選を報知する場合には特図1を停止表示し、特図変動遊技(大当たり遊技)の当選を報知する場合には特図2を停止表示し、特図変動遊技の外れを報知する場合には特図3を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
図3(b)は装飾図柄の一例を示したものである。本実施例の装飾図柄には、装飾1〜装飾8の8種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件にして、装飾図柄表示装置110の左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cの各図柄表示領域に、装飾1→装飾2→装飾3→・・・・装飾7→装飾8→装飾1→・・・の順番で表示を切り替える装飾図柄の変動表示を行う。そして、特図変動遊技(大当たり遊技)の当選を報知する場合には、図柄表示領域110a〜110cに大当たりに対応する図柄組合せ(本実施例では、同一の数字の装飾図柄の組合せ(例えば、装飾2−装飾2−装飾2))を停止表示し、特図変動遊技(特別大当たり遊技)の当選を報知する場合には、特別大当たりに対応する図柄組合せ(本実施例では、同一の奇数番号数字の装飾図柄の組合せ(例えば、装飾1−装飾1−装飾1))を停止表示する。なお、大当たりに対応する図柄の組合せを停止表示した場合には、大当たり遊技、または特別大当たり遊技を開始し、特別大当たりに対応する図柄の組合せを停止表示した場合には、特別大当たり遊技を開始する。また、外れを報知する場合には、図柄表示領域110a〜110cに大当たりに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
図3(c)は普図の停止表示態様の一例を示したものである。本実施例の普図の停止表示態様には、当たり図柄である普図1と、外れ図柄である普図2の2種類がある。普図始動口124を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置112は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す普図の変動表示を行う。そして、普図変動遊技の当選を報知する場合には普図1を停止表示し、普図変動遊技の外れを報知する場合には普図2を停止表示する。
<制御部>
次に、図4および図5を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、図4は主制御部、払出制御部、発射制御部、および電源管理部の回路ブロック図を示したものであり、図5は演出制御部の回路ブロック図を示したものである。
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単にコマンドと呼ぶ)に応じて、主に演出の制御を行う演出制御部350と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部400と、遊技球の発射制御を行う発射制御部450と、パチンコ機100に供給される電源を、パチンコ機100に搭載した電気部品に送電するための所定の電力を生成する電源管理部500によって構成している。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数などを計測するためのカウンタタイマ312と、CPU304の動作を監視して、基本回路302が出力する制御信号を所定時間(本実施例では32.8ms)受信しなかった場合に制御回路302に初期化信号を送信するためのウォッチドッグタイマ(WDT)313と、を搭載している。なお、ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する演出制御部350や払出制御部400についても同様である。この基本回路302のCPU304は、水晶発信器314bが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路302には、水晶発信器314aが出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路316(この回路には2つのカウンタを内臓しているものとする)と、ガラス枠151の開放/閉鎖を検出するガラス枠開放センサ、前枠の開放/閉鎖を検出する前枠開放センサ、下皿150が球で一杯になったことを検出する下皿満タンセンサ、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサなどを含む各種センサ318が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路316および基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留ランプ116、特図保留ランプ118、高確中ランプ118など)の表示制御を行うための表示回路328と、第2特別始動口1280や可変入賞口130などを開閉駆動する各種ソレノイド330を制御するためのソレノイド回路332を接続している。
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路550にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
また、主制御部300には、電源管理部500から主制御部300に供給している電源の電圧値を監視する電圧監視回路336を設けており、この電圧監視回路336は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。
また、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けており、CPU304は、この起動信号出力回路338から起動信号を入力した場合に、遊技制御を開始する(後述する主制御部リセット割り込み処理を開始する)。
また、主制御部300には、演出制御部350にコマンドを送信するための出力インターフェイスと、払出制御部400にコマンドを送信するための出力インターフェイスをそれぞれ設けており、演出制御部350には、主制御部300からコマンドを受信するための入力インターフェイスを設け、払出制御部400には、主制御部300からコマンドを受信するための入力インターフェイスを設けている。この構成により、主制御部300と、演出制御部350および払出制御部400との通信を可能としている。なお、主制御部300と演出制御部350および払出制御部400との情報通信は一方向の通信であり、主制御部300は演出制御部350および払出制御部400にコマンド等の信号を送信できるように構成しているが、演出制御部350および払出制御部400からは主制御部300にコマンド等の信号を送信できないように構成している。
<払出制御部>
次に、パチンコ機100の払出制御部400について説明する。
払出制御部400は、主に主制御部300が送信したコマンド等に基づいて払出制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数などを計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路402には、払出装置154に設けた払出センサ158を含む各種センサ428が出力する信号を受信するためのセンサ回路420と、各種ランプ430の表示制御を行うための表示回路422と、払出装置154に設けたスプロケット157を回転駆動するためのモータ制御回路424と、を接続している。
さらに、払出制御部400には、CRインターフェース部163を接続しており、払出制御部400は、このCRインターフェイス部163を介して、パチンコ機100とは別体で設けられたカードユニット552との通信を行うと共に、球貸し操作部407から入力する操作信号を検出する。
また、払出制御部400には、電源管理部500から払出制御部400に供給している電源の電圧値を監視する電圧監視回路426を設けており、この電圧監視回路426は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路402に出力する。
また、払出制御部400には、電源が投入されると起動信号(リセット信号)を出力する、図示しない起動信号出力回路(リセット信号出力回路)を設けており、CPU404は、この起動信号出力回路から起動信号を入力した場合に、払出制御を開始する(後述する払出制御部リセット割り込み処理を開始する)。
<発射制御部、電源管理部>
次に、パチンコ機100の発射制御部450、電源管理部500について説明する。
発射制御部450は、払出制御部400が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ452の制御や、貯留皿144から発射レール142に球を供給する球送り装置454の制御を行う。
電源管理部500は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、払出制御部400などの各制御部や払出装置154などの各装置に供給する。さらに、電源管理部500は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308など)に所定の期間(例えば10日間)電力を供給するための蓄電装置(例えばコンデンサ)と、この蓄電装置よりも静電容量が小さく、所定の部品(例えば主制御部300の基本回路302全体)に供給している電力が、静電気ノイズ、人的なミス、遊技台に供給される電力の低下などが原因で変動し、低下している場合に、ある程度の電力を補うための蓄電装置(例えばコンデンサ)をさらに備えている。この蓄電装置により、所定の部品(例えば主制御部300)に供給される電力が電断時、復電時などに不安定になっても、ある程度安定してその所定の部品は動作できるように構成している。また、電源基板162には遊技店の店員などが操作可能な操作部(RAMクリアスイッチ)を備えており、電源投入時にこの操作部が操作されていることを検出した場合には、主制御部300の基本回路302および払出制御部400の基本回路402にRAM308、408を初期化することを指令するRAMクリア信号を出力するようにしている。
<演出制御部>
次に、図5を用いて、パチンコ機100の演出制御部350について説明する。
演出制御部350は、主に主制御部300が送信したコマンド等に基づいて演出制御部350の全体を制御する基本回路352を備えており、この基本回路352には、CPU354と、制御プログラムや各種データを記憶するためのROM356と、一時的にデータを記憶するためのRAM358と、各種デバイスの入出力を制御するためのI/O360と、時間や回数などを計測するためのカウンタタイマ362を搭載している。この基本回路352のCPU354は、水晶発信器364が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路352には、スピーカ366(およびアンプ)の制御を行うための音源IC368と、各種ランプ370の制御を行うための表示回路372と、ステッピングモータ376の制御を行うためのモータ制御回路378と、装飾図柄表示装置(液晶表示装置)110およびこの装飾図柄表示装置110の前面に開閉自在に配設したシャッタデバイス373の制御を行うための液晶制御回路374と、チャンスボタン146の操作を検出した場合に基本回路352に検出信号を出力するチャンスボタン検出回路364を接続している。
また、演出制御部350には、電源が投入されると起動信号(リセット信号)を出力する、図示しない起動信号出力回路(リセット信号出力回路)を設けており、CPU354は、この起動信号出力回路から起動信号を入力した場合に、演出制御を開始する。
<主制御部のデータテーブル>
次に、図6を用いて、パチンコ機100の主制御部300のROM306が記憶しているデータテーブルについて説明する。なお、同図(a)は大当たり判定テーブルの一例を、同図(b)は高確率状態移行判定テーブルの一例を、同図(c)はタイマ番号決定テーブルの一例を、それぞれ示した図である。
図6(a)に示す大当たり判定テーブルは、RAM308に設けた遊技状態格納領域に記憶している情報(以下、単に遊技情報と称する。)の種類と、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第1特図始動口用抽選データ)と、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第2特図始動口用抽選データ)と、を対応付けて記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報を用いて特図変動遊技を当選(大当たり)とするか、不当選(外れ)とするかの決定、すなわち大当たり判定を行う。なお、遊技情報は、特図変動遊技を所定の低確率で当選と判定する低確率状態を示す情報、および低確率よりも高い高確率で特図変動遊技を当選と判定する高確率状態を示す情報などを含むが、以下、これらを単に低確率状態および高確率状態と称する。また、遊技状態格納領域に記憶する情報には別の情報もあるが、これらの情報については後述する。
第1特図始動口用抽選データは、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値(乱数値については後述する)が10001〜10187であるときは、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が10001〜10187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施例では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第1特図始動口用抽選データが示す数値範囲は10001〜10187(数値範囲の大きさは187)であるから、低確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第1特図始動口用抽選データが示す数値範囲は30001〜31310(数値範囲の大きさは1310)であるから、高確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
第2特図始動口用抽選データは、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値が20001〜20187であるときには、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が20001〜20187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施例では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第2特図始動口用抽選データが示す数値範囲は20001〜20187(数値範囲の大きさは187)であるから、低確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第2特図始動口用抽選データが示す数値範囲は40001〜41310(数値範囲の大きさは1310)であるから、高確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
図6(b)に示す高確率状態移行判定テーブルは、上述の大当たり判定の結果、大当たりと判定した場合に使用する抽選データを記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報を用いて特図変動遊技の終了後に大当たり遊技を開始するか、または特別大当たり遊技を開始するかの判定、すなわち確変移行判定を行う。例えば、取得した特図乱数値(乱数値については後述する)が11〜74の数値である場合には、特図変動遊技の終了後に特別大当たり遊技を開始する。一方、取得した特図乱数値が11〜74の数値以外である場合には、特図変動遊技の終了後に大当たり遊技を開始する。なお、本実施例では、特図乱数値の取り得る数値範囲は0〜127(数値範囲の大きさは128)、抽選データの移行判定乱数の範囲は11〜74(数値範囲の大きさは64)であるから、大当たり判定の結果が当選である場合に確変移行判定の結果を当選にする確率、すなわち特別大当たりを開始する確率は1/2(=64/128)である。
図6(c)に示すタイマ番号決定テーブルは、特図表示装置114による特図の変動表示を開始してから停止表示をするまでの変動時間を示すタイマ番号を決定するための抽選に使用する抽選データを記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報と、上述の大当たり判定結果(後述する大当たりフラグの値)および後述するタイマ乱数の値に基づいて、タイマ番号を決定する。そして、決定したタイマ番号に対応する変動時間を、特図表示図柄更新タイマ(図7(c)参照)の初期値として設定する。
なお、本実施例では、特図タイマ乱数値(乱数値については後述する)の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、上述の大当たり判定結果が不当選の場合は、タイマ1のタイマ乱数の範囲は0〜60235(数値範囲の大きさは60236)であるから、タイマ番号としてタイマ1(変動時間5秒)を選択する確率は60236/65536である。また、タイマ番号として、タイマ2(変動時間10秒)を選択する確率は4250/65536、タイマ3(変動時間20秒)を選択する確率は800/65536、タイマ3(変動時間40秒)を選択する確率は250/65536である。一方、大当たり判定結果が当選の場合は、タイマ2のタイマ乱数の範囲は0〜15535(数値範囲の大きさは15536)であるから、タイマ番号としてタイマ2(変動時間10秒)を選択する確率は15535/65536である。また、タイマ番号として、タイマ3(変動時間20秒)を選択する確率は9000/65536、タイマ4(変動時間40秒)を選択する確率は38000/65536、タイマ5(変動時間50秒)を選択する確率は3000/65536である。
次に、図7(a)〜(d)を用いて、パチンコ機100の主制御部300のROM306が記憶しているデータテーブルについて説明する。なお、同図(a)は払出要求数テーブルの一例を、同図(b)は払出加工テーブルの一例を、同図(c)はタイマ制御データテーブルの一例を、同図(d)はジャンプテーブルの一例をそれぞれ示した図である。
図7(a)に示す払出要求数テーブルは、パチンコ機100が賞球として遊技者に払い出す賞球数を記憶したデータテーブルである。詳細は後述するが、主制御部300は、この払出要求数テーブルを用いて払出制御部400に出力する払出要求数を選択し、払出要求数に加工を施した後、払出制御部400に出力する。例えば、第1特図始動口126への入球を所定の球検出センサが検出した場合には、主制御部300は、払出要求数として3を選択し、払出要求数に加工を施した後、払出制御部400に出力する。第2特図始動口128、一般入賞口122、または可変入賞口130への入球を所定の球検出センサが検出した場合も同様にして、主制御部300は、払出制御部400に払出要求数として4、10、または15をそれぞれ選択し、払出要求数に加工を施した後、払出制御部400に出力する。なお、詳細は後述するが、払出要求数を入力した払出制御部400は、主制御部300が加工を施した払出要求数の加工を解除して払出要求数を取得した後、払出装置154を駆動し、本実施例では、第1特図始動口126への入球では3個の球を、第2特図始動口128への入球では4個の球を、一般入賞口122への入球では10個の球を、可変入賞口130への入球では15個の球を、それぞれ賞球として貯留皿144に排出する。
図7(b)に示す払出加工テーブルは、主制御部300が払出制御部400に出力する払出要求数を加工するために用いるデータテーブルである。詳細は後述するが、主制御部300は、この払出加工テーブルを用いて払出制御部400に出力する払出要求数を加工する。例えば、加工種別が0の場合には、主制御部300は、払出要求数と、加工データの00H(数値の後ろのHは数値が16進数であることを示す。以下同じ)を用いて、払出要求数に加工を施す。加工種別が1、2、または3の場合も同様にして、主制御部300は、払出要求数と、加工データの13H、2EH、または39Hを用いて、払出要求数に加工を施す。なお、加工データのビット0〜4はマスクの情報を示し、ビット5、6は加工種別の情報を示している。
図7(c)に示すタイマ制御データテーブルは、主制御部300が各種のタイマを更新するために用いるデータテーブルである。詳細は後述するが、主制御部300は、このタイマ制御データテーブルを用いて、更新周期の異なる複数種類のタイマ(この例では、約2ms毎に更新するタイマ1〜9の9種類のタイマと、約10ms毎に更新するタイマ10の1種類のタイマ)を更新する。
図7(d)に示すジャンプテーブルは、主制御部300のコマンド設定送信処理(詳細は後述)における複数種類の送信処理を識別するためにRAM308に設けた送信情報記憶領域の送信情報に含んでいる一般情報と、コマンド設定送信処理における各送信処理の先頭アドレスを記憶したデータテーブルである。詳細は後述するが、主制御部300は、このジャンプテーブルを用いて、一般情報からジャンプ先を選択し、選択したジャンプ先の処理を実行する。例えば、一般情報が01Hの場合には、主制御部300は、ジャンプ先として一般コマンド回転開始設定送信処理を選択し、この一般コマンド回転開始設定送信処理を実行する。他の一般情報も同様にして、一般情報が02Hの場合には一般コマンド回転停止設定送信処理を選択・実行し、一般情報が04Hの場合には一般コマンド入賞演出設定送信処理を選択・実行し、一般情報が08Hの場合には一般コマンド終了演出設定送信処理を選択・実行し、一般情報が10Hの場合には一般コマンド大入賞口開放設定送信処理を選択・実行し、一般情報が20Hの場合には一般コマンド大入賞口閉鎖設定送信処理を選択・実行する。これら処理の実行後に、送信情報記憶領域の送信情報を初期化し、ステップS317の外部出力信号設定処理に処理を移行させる。
<払出制御部のデータテーブル>
次に、図7(e)を用いて、パチンコ機100の払出制御部400のROM406が記憶しているデータテーブルについて説明する。なお、同図(e)は復元データテーブルの一例を示した図である。
図7(e)に示す復元データテーブルは払出制御部400が主制御部300から入力した、加工を施した払出要求数の加工を解除するために用いるデータテーブルである。詳細は後述するが、払出制御部400は、この復元データテーブルを用いて主制御部300から入力した、加工を施した払出要求数の加工を解除する。例えば、加工種別が0の場合には、払出制御部400は、主制御部300から入力した払出要求数と、加工データの00Hを用いて、払出要求数の加工を解除する。加工種別が1、2、または3の場合も同様にして、払出制御部400は、主制御部300から入力した払出要求数と、加工データの03H、0EH、または09Hを用いて、払出要求数の加工を解除する。
<主制御部リセット割り込み処理>
次に、図8を用いて、主制御部300のCPU304が実行する主制御部リセット割り込み処理について説明する。なお、同図は主制御部リセット割り込み処理の流れを示すフローチャートである。
上述したように、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割り込みによりリセットスタートしてROM306に予め記憶している制御プログラムに従って処理を実行する。
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定、割り込みマスクの設定、I/Oポート310の初期設定、RAM308に記憶する各種変数の初期設定、WDT313への初期値の設定等を行う。なお、本実施例では、WDT313に、初期値として32.8msに相当する数値を設定する。
ステップS102では、WDT313のリセットを行い、WDT313による時間計測を再始動する。
ステップS103では、低電圧信号がオンであるか否か、すなわち、電圧監視回路336が、電源管理部500から主制御部300に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS102に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS104に進む。
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、演出制御部350への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
ステップS105では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはステップS108に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS108に進む。
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS108に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS108に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS106に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS108に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS108に進む。
ステップS106では、機能限定ウェイト処理を行う(詳細は後述する)。
ステップS107では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS110、ステップS111内の所定の)命令の次の命令から処理を再開する。
ステップS108では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
ステップS109では、機能限定ウェイト処理を行う(詳細は後述する)。
ステップS110では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS111に進む。
ステップS111では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS110およびS111の処理を繰り返し実行する。
<機能限定ウェイト処理>
次に、図9を用いて、上述の主制御部リセット割り込み処理における機能限定ウェイト処理(ステップS106、S109)について説明する。なお、同図は機能限定ウェイト処理の流れを示すフローチャートである。
ステップ201では、上述の電源ステータス記憶領域に記憶した電源ステータスの情報に機能限定状態を示す情報を設定すると共に、RAM308に設けた機能限定タイマ記憶領域に機能限定タイマの値として所定の数値(本実施例では3)を設定する。
ステップS202では、機能限定状態終了条件が成立しているか否か(本実施例では、上述の機能限定タイマ記憶領域から機能限定タイマの値を読み出し、機能限定タイマの値が0になっているか否か)を判定する。そして、機能限定状態終了条件が成立している場合(本実施例では、機能限定タイマが0である場合)はステップS203に進み、機能限定状態終了条件が成立していない場合(本実施例では、機能限定タイマが0でない場合)はステップS202の処理を繰り返し実行し、機能限定状態終了条件が成立するのを待つ(本実施例では、機能限定タイマが0になるのを待つ)。
ステップS203では、上述の電源ステータス記憶領域に電源ステータスとして正常状態を示す情報を設定すると共に、RAM308に設けた加工種別記憶領域に、後述する加工種別の初期値を設定する。
<主制御部タイマ割り込み処理>
次に、図10を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
主制御部300は、所定の周期(本実施例では約2msに1回)でタイマ割り込み信号を発生するカウンタ・タイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
ステップS301では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS302では、WDT313のカウント値が初期設定値(本実施例では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施例では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。
ステップS303では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述のガラス枠開放センサ、前枠開放センサ、下皿満タンセンサ、複数の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。本実施例では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
また、ステップS303では、上述の前々回検出信号記領域、前回検出信号記領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定する。そして、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)への入球、または普図始動口124の通過があったと判定する。例えば、一般入賞口122への入球を検出する球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口122へ入球したと判定し、以降の一般入賞口122への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口122への入球に伴う処理を行わずに後続の処理に分岐する。
ステップS304およびステップS305では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS110で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する普図当選乱数値および特図乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。
ステップS306では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
ステップS307では、上述の電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、読み出した電源ステータスの情報が機能限定状態を示す情報であるか否かを判定する。そして、電源ステータスの情報が機能限定状態を示す情報の場合には、後続のステップS308〜S317の処理を行うことなくステップS318に進み、そうでない場合にはステップS308に進む。
ステップS308では、タイマ更新処理を行う。詳細は後述するが、このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS309では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
また、ステップS310では、入賞受付処理を行う。この入賞受付処理では、第1、第2特図始動口126、128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、入賞した始動口に対応するカウンタ回路316bのカウンタ値記憶用レジスタから値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。また、普図始動口124を球が通過したことを検出し、且つ、保留している普図変動遊技の数が2未満の場合には、そのタイミングにおける普図当選乱数値生成用の乱数カウンタの値を普図当選乱数値として取得し、RAM308に設けた上述の特図用とは別の乱数値記憶領域に記憶する。また、この入賞受付処理では、所定の球検出センサにより第1、第2特図始動口126、128、普図始動口124、または可変入賞口の入賞(入球)を検出した場合に、演出制御部350に送信すべき送信情報に、第1、第2特図始動口126、128、普図始動口124、および可変入賞口の入賞(入球)の有無を示す入賞受付情報を設定する。
ステップS311では、払出要求数送信処理を行う(詳細は後述する)。なお、払出制御部400に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に今回加工種別(0〜3)、およびビット0〜3に加工後の払出要求数を示すようにしている。
ステップS312では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(後述する普図汎用タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、図3(c)に示す普図1の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、図3(c)に示す普図2の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
また、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間(例えば2秒間)、第2特図始動口128の羽根部材の開閉駆動用のソレノイド330に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド330に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
また、所定の閉鎖期間を経過したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップS313に移行するようにしている。
ステップS313では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口128の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
ステップS314では、特図状態更新処理を行う。この特図状態更新処理は、特図の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図変動中(後述する特図汎用タイマの値が1以上)における特図状態更新処理では、特図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、特図変動表示時間が経過したタイミング(特図表示図柄更新タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に図3(a)に示す特図1、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に図3(a)に示す特図2、大当たりフラグがオフの場合には、図3(a)に示す特図3の態様となるように特図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。また、コマンド設定送信処理(ステップS316)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に02Hを送信情報(一般情報)として追加記憶する。
また、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS316)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に04Hを送信情報(一般情報)として追加記憶する。
また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS316)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に10Hを送信情報(一般情報)として追加記憶する。
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS316)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に20Hを送信情報(一般情報)として追加記憶する。
また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、コマンド設定送信処理(ステップS316)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に08Hを送信情報(一般情報)として追加記憶する。
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。特図の状態が非作動中の場合における特図状態更新処理では、何もせずに次のステップS315に移行するようにしている。
ステップS315では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、上述の図6(a)の大当たり判定テーブル、同図(b)の高確率状態移行判定テーブル、同図(c)のタイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、図6(a)に示す大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図乱数値が、図6(b)に示す移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオンに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオフに設定する。
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含む図6(c)に示すタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS316)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に01Hを送信情報(一般情報)として追加記憶してから処理を終了する。
例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が50000の場合には、特図タイマ乱数値は0〜60235の範囲であることから、タイマ番号決定テーブルのそれらの条件に対応する1行目に記憶しているタイマ番号を示すタイマ1、および変動時間を示す5を選択し、RAM308に設けたそれぞれの記憶領域に記憶する。一方、大当たりフラグがオンで、取得した特図タイマ乱数値が64000の場合には、特図タイマ乱数値は0〜15535の範囲ではないことからタイマ2は選択せず、15536〜24535ではないことからタイマ3は選択せず、24536〜62535ではないことからタイマ4は選択しないが、62536〜65535の範囲内であることから、タイマ番号決定テーブルのそれらの条件に対応する8行目に記憶しているタイマ番号を示すタイマ5、および変動時間を示す50を選択し、RAM308に設けたそれぞれの記憶領域に記憶する。なお、割り込み処理の開始周期である2msを考慮して、選択した変動時間の値に500(1000ms/2ms)を掛けた値を変動時間記憶領域にセットする。例えば、変動時間が5秒の場合には、変動時間記憶領域には2500の値を初期値としてセットし、ステップS308のタイマ更新処理を実行する度に、この変動時間記憶領域の値を1だけ減算するようにすることで、割り込み処理の実行回数により時間の経過を計測できるようにしている。また、複数回(例えば5回)のタイマ割込処理の実行ごと(例えば2ms周期)に変動時間記憶領域の値を減算する場合には、変動時間が10秒の場合であれば、10秒が10000msであることから周期(2ms×5)で割り算して1000を変動時間記憶領域に設定する。
ステップS316では、コマンド設定送信処理を行う(詳細は後述する)。なお、演出制御部350に送信する出力予定情報は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(00Hの場合は基本コマンド、01Hの場合は図柄変動開始コマンド、04Hの場合は図柄変動停止コマンド、05Hの場合は入賞演出開始コマンド、06Hの場合は終了演出開始コマンド、07Hの場合は大当たりラウンド数指定コマンド、0EHの場合は復電コマンド、0FHの場合はRAMクリアコマンドをそれぞれ示すなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に01H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に04H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に05H、コマンドデータにRAM308に記憶している入賞演出期間中に装飾図柄表示装置110・各種ランプ370・スピーカ366に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に06H、コマンドデータにRAM308に記憶している演出待機期間中に装飾図柄表示装置110・各種ランプ370・スピーカ366に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に07H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に08H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。演出制御部350では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
ステップS317では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路550に出力する。
ステップS318では、機能限定状態終了条件が成立しているか否か(本実施例では、上述の機能限定タイマ記憶領域から機能限定タイマの値を読み出して1を減算し、減算後の機能限定タイマの値が0になっているか否か)を判定する。そして、機能限定状態終了条件が成立している場合(本実施例では、減算後の機能限定タイマが0である場合)はステップS319に進み、機能限定状態終了条件が成立していない場合(本実施例では、減算後の機能限定タイマが0でない場合)はステップS319の処理を行うことなくステップS321に進む。なお、本実施例では、上述の機能限定ウェイト処理において機能限定タイマの初期値として3を設定しているため、機能限定ウェイト処理において初期値を設定し、且つ、主制御部タイマ割り込みの割り込みを許可してから、最大で約6ms(=約2ms(主制御部タイマ割り込みの周期)×3)後、最小で約4ms(=約2ms(主制御部タイマ割り込みの周期)×2)後に機能限定タイマの減算結果が0になる(機能限定を解除する)。
ステップS319では、電源ステータス、チェックサムなど所定の電断情報などを用いて、電断前の状態に復帰したこと、さらに入力ポートの履歴情報の更新が正常に終了したことを示す復帰コマンドを演出制御部350に送信する復帰コマンド設定送信処理を行う(詳細は後述する)。また、その処理に続いて、後述する基本コマンド設定送信処理を実行して、遊技の進行状況を示す様々な情報を含んだ基本コマンドを送信するようにしている。
ステップS320では、デバイス監視処理を行う。このデバイス監視処理では、ステップ303において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、前枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、前枠開放エラー、または下皿満タンエラーを検出した場合に、演出制御部350に送信すべき送信情報に、ガラス枠開放エラーの有無、前枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、後述の払出要求数送信処理(ステップS311)のステップS415で設定した出力予定情報を出力ポート310を介して演出制御部350に出力する。
ステップS321では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS323に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS322に進む。
ステップS322では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS301で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
ステップS323では、上述の電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、読み出した電源ステータスの情報が正常状態を示す情報であるか否かを判定する。そして、電源ステータスの情報が正常状態を示す情報の場合にはステップS325に進み、そうでない場合にはステップS324に進む。
ステップS324では、電断時処理1を行う。この電断時処理1では、上述のスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム(電断時チェックサム)として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、RAM308への書き込みを禁止する設定を行った後、無限ループとなる。
ステップS325では、電断時処理2を行う。この電断時処理2では、上述のスタックポインタ退避領域に現在のスタックポインタの値を記憶することなく、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、RAM308に記憶している数値を読み出してチェックサム(電断時チェックサム)を算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、RAM308への書き込みを禁止する設定を行った後、無限ループとなる。
<払出要求数送信処理>
次に、図11を用いて、上述の主制御部タイマ割り込み処理における払出要求数送信処理(ステップS311)について説明する。なお、同図は払出要求数送信処理の流れを示すフローチャートである。
ステップS401では、RAM308に設けた払出要求数記憶領域に払出要求数として0を設定する。
ステップS402では、RAM308に設けた出力予定情報記憶領域から出力予定情報(I/Oポート310から出力する予定の情報)を読み出し、出力予定情報に情報が設定されているか否かを判定する。そして、出力予定情報に情報が設定されている場合にはステップS415に進み、出力予定情報に情報が設定されていない場合にはステップ403に進む。
ステップS403では、電源投入後の最初の送信処理か否かを示す情報をRAM308に設けた所定の記憶領域から読み出して、電源投入後の最初の送信処理か否かを判定する。そして、電源投入後の最初の送信処理の場合にはステップS412に進み、そうでない場合はステップS404に進む。
ステップS404では、最初に、入賞により賞球の払出しを行う各入賞口(本実施例では、一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)を、処理対象として順次選択する。次に、各処理対象に対応してRAM308に設けられた払出カウンタ記憶領域から、各処理対象の払出カウンタの値を読み出し、払出カウンタの値が0であるか否かを判定する。そして、処理対象の払出カウンタが0の場合はステップS405に進み、処理対象の払出カウンタが0以外の場合はステップS406に進む。
ステップS405では、全ての処理対象の払出カウンタの処理が終了したか否かを判定する。そして、全ての処理対象の払出カウンタの処理が終了した場合には主制御部タイマ割り込み処理に復帰し、全ての処理対象の払出カウンタの処理が終了していない場合はステップS404に戻り、残りの処理対象の払出カウンタの処理を継続する。
ステップS406では、上述の払出カウンタ記憶領域から処理対象の払出カウンタの値を読み出して1を減算した後、減算後の値を新たな払出カウンタの値として元の払出カウンタ記憶領域に記憶する。
ステップS407では、上述の図7(a)の払出要求数テーブルを参照し、処理対象に対応する払出要求情報(払出要求数)を取得して、RAM308の所定記憶領域に記憶する。例えば、処理対象が第1特図始動口126の場合には、払出要求数として払出要求テーブルの1行目のデータ、すなわち3を選択する。他の処理対象も同様にして、処理対象が第2特図始動口128の場合には払出要求テーブルの2行目のデータである4を、処理対象が一般入賞口122の場合には払出要求テーブルの3行目のデータである10を、処理対象が可変入賞口130の場合には払出要求テーブルの4行目のデータである15をそれぞれ選択する。
ステップS408では、ハードウェア乱数カウンタとして使用している、基本回路302に設けている1または2の値をランダムに出力する乱数生成回路(図示せず)から取得した乱数値と、前回の送信に使用した加工種別(前回加工種別)に基づいて(過去の加工種別の履歴に基づいて)、新しい加工種別(今回加工種別)を選択する。具体的には、RAM308に設けた前回加工種別記憶領域から前回の送信時に選択し、記憶した前回加工種別を読み出し、この前回加工種別に、取得した乱数値を加算する。そして、加算結果が4未満の場合には加算結果をRAM308に設けた今回加工種別記憶領域に今回加工種別として記憶し、加算結果が4以上の場合には加算結果から4を減算し、この減算結果を今回加工種別記憶領域に今回加工種別として記憶する。
ステップS409では、ステップS408で今回加工種別記憶領域に記憶した今回加工種別を読み出すと共に、上述の図7(b)の払出加工テーブルを参照して、今回加工種別に対応する加工データを選択する。例えば、今回加工種別が0の場合には、加工データとして払出加工テーブルの1行目のデータ、すなわち00Hを選択する。他の加工データも同様にして、今回加工種別が1の場合には払出加工テーブルの2行目のデータである13Hを、今回加工種別が2の場合には払出加工テーブルの3行目のデータである2EHを、今回加工種別が3の場合には払出加工テーブルの4行目のデータである39Hをそれぞれ選択する。
ステップS410では、ステップS408で今回加工種別記憶領域に記憶した今回加工種別を読み出して払出要求情報に追加する。
ステップS411では、ステップS409で選択した加工データを用いて払出要求情報を加工する。本実施例では、払出要求数と加工データの排他的論理和(EXOR)を算出し、その算出結果を、加工後の払出要求数として払出要求情報に設定する。例えば、払出要求数が3(00000011B(数値の後ろのBは数値が2進数であることを示す。以下同じ))、加工データが00H(00000000B)の場合、払出要求数と加工データの排他的論理和は3であるから、加工後の払出要求数は3である。また、払出要求数が3、加工データが13H(00010011B)の場合、払出要求数と加工データの排他的論理和は10H(00010000B)であるから、加工後の払出要求数は10Hであり、払出要求数が3、加工データが2EH(00101110B)の場合、払出要求数と加工データの排他的論理和は2DH(00101100B)であるから、加工後の払出要求数は2DHであり、払出要求数が3、加工データが39H(00111001B)の場合、払出要求数と加工データの排他的論理和は3AH(00111010B)であるから、加工後の払出要求数は3AHである。
ステップS412では、払出要求情報に初期化情報(後述する電源投入情報のビットにオン)をセットする。
ステップS413では、ステップS411またはステップS412で設定した払出要求情報をI/Oポート310から払出制御部400に出力する。
ステップS414では、払出要求情報にストローブ情報を追加する。
ステップS415では、払出要求情報を、RAM308に設けた出力予定情報記憶領域に出力予定情報として記憶する。ステップS401で払出要求情報をクリアした場合には、後続のデバイス監視処理(ステップS302)において、全てオフを示す情報をI/Oポート310から払出制御部400に出力する。また、ステップS414でストローブ情報を追加した場合には、後続のデバイス監視処理(ステップS302)において、ストローブ情報を追加した払出要求情報をI/Oポート310から払出制御部400に出力する。
この払出要求数送信処理のステップS413の処理ではストローブ情報を含まず、払出要求情報を含む信号をI/Oポート310から払出制御部400に出力する。この払出要求数送信処理ではRAM308に設けた出力予定情報に記憶領域の出力予定情報にストローブ情報、および払出要求情報を記憶させたところで処理を終了し、この出力予定情報をI/Oポート310から信号として出力することはしない。次にデバイス監視処理S320でストローブ情報、および払出要求情報、すなわち出力予定情報を含む信号をI/Oポート310から払出制御部400に出力する。これにより払出制御部400の基本回路452が入力しているストローブ信号も立ち下がる。さらに次に実行されるタイマ割り込み処理における払出要求数送信処理で、上述の出力予定情報記憶領域を初期化(全信号オフとなる情報を記憶)し、この全オフとなった出力予定情報をI/Oポート310から信号として出力することはしない。次に実行するデバイス監視処理S320で全信号オフとすることを示す出力予定情報を含む信号をI/Oポート310から払出制御部400に出力する。ここでストローブ情報もオフにしていることから払出制御部400の基本回路402が入力しているストローブ信号も立ち上がる。
<タイマ更新処理>
次に、図12を用いて、上述の主制御部タイマ割り込み処理におけるタイマ更新処理(ステップS308)について説明する。なお、同図はタイマ更新処理の流れを示すフローチャートである。なお、後述する普図汎用タイマは、上述の普図表示図柄更新タイマ、普図停止時間管理用タイマ、羽根開放時間管理用タイマ、羽根閉鎖時間管理用タイマを兼用した1つのタイマであり、特図汎用タイマは、上述の特図表示図柄更新タイマ、特図停止時間管理用タイマ、特図待機時間管理用タイマ、扉開放時間管理用タイマ、扉開放時間管理用タイマ、扉閉鎖時間管理用タイマ、および演出待機時間管理用タイマを兼用した1つのタイマである。
ステップS501では、上述の図7(c)のタイマ制御データテーブルを参照して、タイマ種類数、タイマ個数、および処理対象のタイマを取得する。本実施例では、タイマ種類数としてタイマ制御データテーブルの1行目のデータである2、タイマ個数としてタイマ制御データテーブルの2行目のデータである9、処理対象のタイマとしてタイマ1(特図表示図柄更新タイマ)をそれぞれ取得する。
ステップS502では、処理対象のタイマに対応してRAM308に設けたタイマ値記憶領域からタイマ値を読み出して、そのタイマ値が0であるか否かを判定し、タイマ値が0でない場合はステップS503でタイマ値から1を減算し、減算結果を元のタイマ値記憶領域に記憶する。一方、タイマ値が0の場合はステップS503の処理を飛ばしてステップS504に進む。
ステップS504では、タイマ個数(本実施例では9)から1を減算し、ステップS505では、減算後のタイマ個数が0であるか否かを判定する。そして、減算後のタイマ個数が0の場合にはステップ507に進み、減算後のタイマ個数が0でない場合はステップS506に進む。
ステップS506では、処理対象とするタイマを更新し、次の処理対象のタイマのタイマ値を減算すべくステップS502に戻る。本実施例では、処理対象のタイマを、タイマ制御データテーブルの3行目に格納アドレスを記憶した特図表示図柄更新タイマ→タイマ制御データテーブルの4行目に格納アドレスを記憶した普図表示図柄更新タイマ→・・・タイマ制御データテーブルの10行目に格納アドレスを記憶した普図汎用タイマ→タイマ制御データテーブルの11行目に格納アドレスを記憶した10.08msタイマの順で更新する。
ステップS507では、タイマ種類数(本実施例では初期値は2)から1を減算し、ステップS508では、減算後のタイマ種類数が0であるか否かを判定する。そして、減算後のタイマ種類が0の場合にはタイマ割り込み処理に復帰し、減算後のタイマ種類が0でない場合はステップS509に進む。
ステップS509では、処理対象のタイマ(本実施例では、タイマ制御データテーブルの11行目に格納アドレスを記憶した10.08msタイマ)に対応してRAM308に設けたタイマ値記憶領域からタイマ値を読み出して、そのタイマ値が0であるか否かを判定し、タイマ値が0でない場合はタイマ割り込み処理に復帰し、タイマ値が0の場合はステップS510に進む。
ステップS510では、タイマ制御データテーブルからタイマ値の初期値(本実施例では、タイマ制御データテーブルの12行目のタイマ更新周期に対応する数値の5)を取得し、取得した初期値を処理対象のタイマに設定する。
ステップS511では、タイマ制御データテーブルからタイマ個数を取得し(本実施例では、タイマ個数としてタイマ制御データテーブルの13行目のデータである1を取得し)、処理対象のタイマを次のタイマ(本実施例では、タイマ制御データテーブルの14行目に格納アドレスを記憶した特図汎用タイマ)に更新した後、更新後のタイマのタイマ値を減算すべくステップS502に戻る。
このような構成により、本実施例では、タイマ制御データテーブルの14行目に対応するタイマは約10ms(約2ms(主制御部タイマ割り込みの割り込み周期)×5(タイマ制御データテーブルの12行目のタイマ更新周期))毎に更新し、タイマ制御データテーブルの3〜11行目に対応するタイマは約2ms(主制御部タイマ割り込みの割り込み周期)ごとに更新する。なお、タイマ制御データテーブルの14行目に対応するタイマを更新する条件となるタイマ(ここではタイマ制御データテーブルの11行目に対応するタイマ)は適宜箇所で初期化しておく必要がある。本実施例では、このタイマに対応する特図表示図柄更新タイマの初期化は、特図変動表示時間として、上述の特図関連抽選処理(ステップS315)の特図表示図柄更新タイマにタイマ番号に対応する変動時間を記憶するのと同時期(同一割り込み)に行うのが最適である。
<コマンド設定送信処理>
次に、図13を用いて、上述の主制御部タイマ割り込み処理におけるコマンド設定送信処理(ステップS316)について説明する。なお、同図はコマンド設定送信処理の流れを示すフローチャートである。
ステップS601では、演出制御部350に送信すべき送信情報に、上述の入賞受付情報、デバイス情報などの汎用情報が含まれているか否かを判定し、送信情報に汎用情報が含まれている場合にはステップS602で基本コマンド設定送信処理(詳細は後述する)を行い、送信情報に汎用情報が含まれていない場合にはステップS603に進む。
ステップS603では、演出制御部350に送信すべき情報があるか無いか(送信情報記憶領域に送信情報がセットされているかどうか)を判定し、送信すべき情報がある場合にはステップS604に進み、そうでない場合は主制御部タイマ割り込み処理に戻る。
ステップS604では、上述の図7(d)のジャンプテーブルを参照し、RAM308に設けた送信情報記憶領域に記憶した送信情報に基づいてジャンプ先アドレスを選択する。例えば、送信情報が01Hの場合には、ジャンプ先アドレスとして、ジャンプテーブルの1行目の一般コマンド回転開始設定送信処理(の先頭アドレス)を選択する。送信情報が01H以外の場合も同様にして、送信情報が02Hの場合には、ジャンプテーブルの2行目の一般コマンド回転停止設定送信処理(の先頭アドレス)を、送信情報が04Hの場合には、ジャンプテーブルの3行目の一般コマンド入賞演出設定送信処理(の先頭アドレス)を、送信情報が08Hの場合には、ジャンプテーブルの4行目の一般コマンド終了演出設定送信処理(の先頭アドレス)を、送信情報が10Hの場合には、ジャンプテーブルの5行目の一般コマンド大入賞口開放設定送信処理(の先頭アドレス)を、送信情報が20Hの場合には、ジャンプテーブルの6行目の一般コマンド大入賞口閉鎖設定送信処理(の先頭アドレス)を選択する。各処理の処理内容は後述する。
ステップS605では、ステップS604で選択したジャンプ先アドレスをPC(プログラムカウンタ)に設定してジャンプ先アドレスに処理を移し、ジャンプ先アドレス以降に記憶した制御プログラムに従って各種の処理を行う。ジャンプ先での処理が終了すると一旦コマンド設定送信処理に復帰し、直ちに主制御部タイマ割り込み処理に復帰するようにしている。
<基本コマンド設定送信処理>
次に、図14を用いて、上述のコマンド設定送信処理における基本コマンド設定送信処理(ステップS602)について説明する。なお、同図は基本コマンド設定送信処理の流れを示すフローチャートである。
ステップS701では、演出制御部350に送信すべき基本コマンド情報を、出力予定情報に設定する。
ステップS702およびステップS703では、上述の汎用情報に含まれる入賞受付情報およびデバイス情報を、出力予定情報に含める。
ステップS704では、コマンド送信処理(詳細は後述する)を行ってから、送信情報記憶領域の送信情報より汎用情報を削除し、処理を終了する。なお、本実施例1では、可変入賞装置内に遊技媒体が進入したことなどを示す情報を含む上述の入賞受付情報と、ガラス板151の開閉状態などを示す情報を含む上述のデバイス情報と、を同時に演出制御部350に送信する。なお、始動口や可変入賞装置内に遊技媒体が進入したことなどを示す情報を含む上述の入賞受付情報を先に演出制御部350に送信し、同一割り込み内でガラス板151の開閉状態などを示す情報を含む上述のデバイス情報を演出制御部350に送信するようにしてもよい。また、逆にガラス板151の開閉状態などを示す情報を先に演出制御部350に送信し、同一割り込み内で始動口や可変入賞装置内に遊技媒体が進入したことなどを示す情報を含む上述の入賞受付情報を先に演出制御部350に送信するようにしてもよい。
<コマンド送信処理>
次に、図15を用いて、上述のコマンド設定送信処理におけるコマンド送信処理(ステップS704)について説明する。なお、同図はコマンド送信処理の流れを示すフローチャートである。
ステップS801では、上述の出力予定情報記憶領域に記憶した出力予定情報を読み出して、この出力予定情報のデータをI/Oポート310から演出制御部350に出力する。
ステップS802では、データ保持前時間を設定し、ステップS803では、ステップS802で設定したデータ保持前時間を減算し、データ保持前時間が0になったか否か(データ保持前時間が経過したか否か)を判定する。そして、データ保持前時間が経過している場合にはステップS804に進み、データ保持前時間が経過していない場合にはステップS803においてデータ保持前時間が経過するのを待つ。
ステップS804では、出力予定情報にストローブ情報を追加して出力ポート310から演出制御部350に出力する。
ステップS805では、データ保持前時間を設定し、ステップS806では、ステップS805で設定したデータ保持時間を減算し、データ保持時間が0になったか否か(データ保持時間が経過したか否か)を判定する。そして、データ保持時間が経過している場合にはステップS807に進み、データ保持時間が経過していない場合にはステップS806においてデータ保持時間が経過するのを待つ。
ステップS807では、出力予定情報記憶領域に記憶した出力予定情報をクリアし、ステップS808では、出力予定情報記憶領域に記憶した出力予定情報を読み出して、この出力予定情報をI/Oポート310から出力する。
コマンド設定送信処理(ステップS316)の開始時における送信情報に汎用情報が含まれている場合にはまず、基本コマンド設定送信処理から分岐したコマンド送信処理のステップS801でストローブ情報を含まず、汎用情報を含む信号を出力ポート310を介して演出制御部350に出力し、所定期間後に開始するステップS804でストローブ情報、および汎用情報を含む信号を出力ポート310を介して演出制御部350に出力する。これにより演出制御部350の基本回路352が入力しているストローブ信号も立ち下がる。さらに所定期間後にステップS808で全信号がオフである信号を出力ポート310を介して演出制御部350に出力するようにしている。ここでストローブ情報もオフにしていることから演出制御部350の基本回路352が入力しているストローブ信号も立ち上がる。次にステップS605からジャンプした先の処理から分岐したコマンド送信処理のステップS801でストローブ情報を含まず、一般情報を含む信号を出力ポート310を介して演出制御部350に出力し、所定期間後に開始するステップS804でストローブ情報、および一般情報を含む信号を出力ポート310を介して演出制御部350に出力する。これにより演出制御部350の基本回路352が入力しているストローブ信号も立ち下がる。さらに所定期間後にステップS808で全信号がオフである信号を出力ポート310を介して演出制御部350に出力するようにしている。ここでストローブ情報もオフにしていることから演出制御部350の基本回路352が入力しているストローブ信号も立ち上がる。
一方、コマンド設定送信処理(ステップS316)の開始時における送信情報に汎用情報が含まれていない場合には汎用情報を出力せず、ステップS605からジャンプした先の処理から分岐したコマンド送信処理のステップS801でストローブ情報を含まず、一般情報を含む信号を出力ポート310を介して演出制御部350に出力し、所定期間後に開始するステップS804でストローブ情報、および一般情報を含む信号を出力ポート310を介して演出制御部350に出力する。これにより演出制御部350の基本回路352が入力しているストローブ信号も立ち下がる。さらに所定期間後にステップS808で全信号がオフである信号を出力ポート310を介して演出制御部350に出力するようにしている。ここでストローブ情報もオフにしていることから演出制御部350の基本回路352が入力しているストローブ信号も立ち上がる。
<復帰コマンド設定送信処理>
次に、図16を用いて、上述の主制御部タイマ割り込み処理における復帰コマンド設定送信処理(ステップS319)について説明する。なお、同図は復帰コマンド設定送信処理の流れを示すフローチャートである。
ステップS901では、復電時であるか否かを判定し、復電時であればステップS902に進み、そうでなければステップS903に進む。
ステップS902では、出力予定情報記憶領域に記憶した出力予定情報に復電を示す情報を設定してステップS904に進む。
ステップS903では、出力予定情報記憶領域に記憶した出力予定情報にRAMクリアを示す情報を設定してステップS913に進む。
ステップS904では、大当たりの表示確定後であるか否かを判定し、大当たりの表示後確定後でなければステップS905に進み、大当たりの表示後確定後であればステップS909に進む。
ステップS905〜ステップS908では、出力予定情報記憶領域に記憶した出力予定情報に、遊技状態、特図作動状態、特図抽選結果、保留している特図変動遊技の数および確変抽選結果を追加する。本実施例では、現在の遊技状態に基づいて、通常状態を示す情報、時短状態を示す情報、確変状態を示す情報のいずれかを遊技状態として追加する。また、特図変動遊技が作動している場合には、特図作動状態として作動中を示す情報を追加し、特図変動遊技が作動していない場合には、特図作動状態として停止中を示す情報を追加する。また、大当たりフラグをオンに設定している場合には、特図抽選結果として大当りを示す情報を追加し、大当たりフラグをオフに設定している場合には、特図抽選結果としてハズレを示す情報を追加する。また、確変フラグをオンに設定している場合には、確変抽選結果として確変を示す情報を追加し、確変フラグをオフに設定している場合には、確変抽選結果としてハズレを示す情報を追加する。
ステップS909〜ステップS912では、出力予定情報記憶領域に記憶した出力予定情報に、大当たり中か否かを示す情報、特図保留数情報、大入賞口開放回数、確変フラグの値および大入賞口開閉状態を追加する。本実施例では、大当たりフラグをオンに設定している場合には大当りを示す情報を追加する。また、特図保留数情報として、特図遊技の保留数(本実施例では0〜4)に対応する保留数データを追加する。また、大入賞口開放回数として、可変入賞口130を開放する回数を示す情報を追加する。また、可変入賞口130が開放中の場合には、大入賞口開閉状態として可変入賞口130が開放中であることを示す情報を追加し、可変入賞口130が閉鎖中の場合には、大入賞口開閉状態として大入賞口が閉鎖中であることを示す情報を追加する。
ステップS913では、上述のコマンド送信処理を行う。
<払出制御部リセット割り込み処理>
次に、図17を用いて、払出制御部400のCPU404が実行する払出制御部リセット割り込み処理について説明する。なお、同図は払出制御部リセット割り込み処理の流れを示すフローチャートである。
払出制御部400には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した基本回路402のCPU404は、リセット割り込みによりリセットスタートしてROM406に予め記憶している制御プログラムに従って処理を実行する。
ステップS1001では、初期設定1を行う。この初期設定1では、CPU404のスタックポインタ(SP)へのスタック初期値の設定等を行う。
ステップS1002では、低電圧信号がオンであるか否か、すなわち、電圧監視回路426が、電源管理部500から払出制御部400に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS1001の処理を繰り返し実行し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS1003に進む。
ステップS1003では、初期設定2を行う。この初期設定2では、後述する払出制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ412に設定する処理、RAM406への書き込みを許可する設定、I/Oポート360の初期設定等を行う。
ステップS1004では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(パチンコ機100を初期状態にする場合)にはステップS1006に進み、電断前の状態に復帰する場合にはステップS1005に進む。
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、パチンコ機100を初期状態にすべくステップS1006に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAM408に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、パチンコ機100を初期状態にすべくステップS1006に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM408の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が0の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS1005に進み、チェックサムの結果が0以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS1006に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS1006に進む。
ステップS1005では、復電時処理を行う。この復電時処理では、RAM408の記憶領域のうち、復電時にクリアすべき記憶領域(コマンドを格納するためのコマンドバッファ、エラー状態を記憶するためのエラーステータスなどを除く記憶領域)の初期化などを行う。
ステップS1006では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM408の所定の領域(例えば、全ての記憶領域)の初期化などを行う。
ステップS1007では、初期設定3を行う。この初期設定3では、RAM408に設けたエラーステータス記憶領域に記憶したエラーステータスのうち、不正払出エラーと払出超過エラー以外の情報をクリアしたり、割り込み許可の設定などを行う。
ステップS1008では、主制御部300から入力したデータの中に未解析データがあるか無いかを判定し、未解析データがある場合にはステップS1009でコマンド解析処理(詳細は後述する)を行い、未解析データがない場合にはステップS1010に進む。
ステップS1010では、低電圧信号がオフであるか否かを監視し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS1008に戻り、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS1011に進む。
ステップS1011では、電断時処理を行う。この電断時処理では、RAM408に設けたスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、RAM408の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム(電断時チェックサム)として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、RAM408への書き込みを禁止する設定などを行う。
ステップS1012では、低電圧信号がオンであるか否かを監視し、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS1012の処理を繰返し実行して低電圧信号がオフになるのを待ち、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS1001に戻り、払出制御部リセット割り込み処理を最初から開始する。すなわち、このステップS1012では、ステップS1010で低電圧信号を入力した後(電源の遮断を検知した後)で、この低電圧信号の出力が停止したことを検知した場合(電源の復帰を検知した場合)に払出制御回路402を初期化する初期化処理を行う。
<コマンド解析処理>
次に、図18を用いて、上述の払出制御部リセット割り込み処理におけるコマンド解析処理(ステップS1009)について説明する。なお、同図はコマンド解析処理の流れを示すフローチャートである。
ステップS1101では、RAM408に設けた賞球数記憶領域に未解析データとして記憶した賞球数(払出要求数)と、RAM408に設けた今回加工種別記憶領域に未解析データとして記憶した加工種別を取得する。
ステップS1102では、ステップS1101で取得した今回加工種別、およびRAM408に設けた前回加工種別記憶領域から取得した、コマンド解析処理で前回に使用した前回加工種別の両者を比較する。そして、今回加工種別と前回加工種別が同一であるか否かを判定し、両者が同一の場合は処理を終了し、両者が異なる場合はステップS1103に進む。
ステップS1103では、今回加工種別の値を、前回加工種別として前回加工種別記憶領域に記憶する。
ステップS1104では、上述の図7(e)の復元データテーブルを参照し、今回加工種別に基づいて復元データを選択した後、復元データを用いて賞球数の加工を解除する。本実施例では、加工された賞球数と復元データの排他的論理和(EXOR)を算出し、その算出結果の下位4ビットを賞球数として賞球数記憶領域に記憶する。例えば、加工された賞球数が3(00000011B)、復元データが00H(00000000B)の場合、排他的論理和の算出結果は03H(00000011B)であるから、賞球数はその下位4ビットの3である。また、加工された賞球数が10H(00010000B)、復元データが03H(00000011B)の場合、排他的論理和の算出結果は13H(00010011B)であるから、賞球数はその下位4ビットの3であり、加工された賞球数が2DH(00101100B)、復元データが0EH(00001110B)の場合、排他的論理和の算出結果は23H(00100011B)であるから、賞球数はその下位4ビットの3であり、加工された賞球数が3AH(00111010B)、復元データが09H(00001001B)の場合、排他的論理和の算出結果は33H(00110011B)であるから、賞球数はその下位4ビットの3である。
ステップS1105では、RAM408に設けた次賞球要求数記憶領域に記憶した次賞球要求数に、ステップS1104で取得した賞球数を加算して処理を終了する。
<コマンド受信割り込み処理>
次に、図19を用いて、払出制御部400のCPU404が実行するコマンド受信割り込み処理について説明する。なお、同図はコマンド受信割り込み処理の流れを示すフローチャートである。
払出制御部400は、主制御部300が出力するストローブ信号の立ち下がりエッジを検出した場合に、このコマンド受信割り込み処理を実行する。主制御部300でストローブ情報を含めた払出要求信号を出力すると、それまでHighレベルを保持していた払出制御部400のストローブ信号がLowレベルに立ち下がるような回路構成にしている。
ステップS1201では、受信割り込みスタート処理を行う。この受信割り込みスタート処理では、CPU404の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS1202では、主制御部300から入力する払出要求情報をI/Oポート410から入力し、ステップS1203では、払出要求情報があるか無いかを判定する。そして、払出要求情報がある場合にはステップS1204に進み、払出要求情報が無い場合にはステップS1209に進む。
ステップS1204では、払出要求情報のストローブ情報があるか無いか(オンかオフか)を判定し、ストローブ情報がある場合にはステップS1205に進み、ストローブ情報が無い場合にはステップS1209に進む。
ステップS1205では、ステップS1202で入力した払出要求情報から加工種別を取得する。
ステップS1206では、払出要求情報に初期化情報があるか無いか(オンかオフか)を判定する。そして、初期化情報がある場合にはステップS1208に進み、初期化情報が無い場合にはステップS1207に進む。
ステップS1207では、払出要求情報から賞球数を取得し、上述の賞球数記憶領域に記憶するとともに、RAM408に設けた今回加工種別記憶領域に、払出要求情報から取得した加工種別を未解析データとして記憶する。
ステップS1208では、ステップS1205で取得した加工種別を、上述の前回加工種別記憶領域に記憶する。
ステップS1209では、受信割り込みエンド処理を行う。この受信割り込みエンド処理は、ステップS1201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
<払出制御部タイマ割り込み処理>
次に、図20を用いて、払出制御部400のCPU404が実行する払出制御部タイマ割り込み処理について説明する。なお、同図は払出制御部タイマ割り込み処理の流れを示すフローチャートである。
払出制御部400は、所定の周期(本実施例では1msに1回)でタイマ割り込みを発生するカウンタ・タイマ412を備えており、このタイマ割り込みを契機として払出制御部タイマ割り込み処理を所定の周期で開始する。
ステップS1301では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU404の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS1302では、ポート入力管理処理を行う。このポート入力管理処理では、I/Oポート410の値を取得して、各種センサ428の状態などを検出する。
ステップS1303では、タイマ更新管理処理を行う。このタイマ更新管理処理では、払出報知用LEDの点灯/消灯時間、モータ駆動/非駆動時間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS1304では、エラー管理処理を行う。このエラー管理処理では、I/Oポート410に入力する皿満杯信号を検出して皿満杯信号がオンであるか否かを判定し、皿満杯信号がオンの場合(下皿150が球で一杯になっている場合)には、RAM408に設けたエラーステータス記憶領域に皿満杯エラーを示す情報を記憶し、皿満杯信号がオフの場合(下皿150に球を貯留する空きができた場合)には、エラーステータス記憶領域に皿満杯エラーの解除を示す情報を記憶する。また、主制御部300と払出制御部400との間の通信回線が断線などにより通信可能かどうかを検出し、通信可能な場合には、RAM408に設けたエラーステータス記憶領域に通信可能であることを示す情報を、また通信不可能な場合には通信不可能であることを示す情報を記憶する。また、エラー管理処理では、I/Oポート410に入力するエラー解除スイッチ信号を検出してエラー解除信号がオンであるか否かを判定し、エラー解除信号がオンである場合には、エラーステータス記憶領域に記憶している不正払出エラーの情報、または、払出超過エラーの情報を初期化して、これらのエラーを解除する。
ステップS1305では、CRユニット通信管理処理を行う。このCRユニット通信管理処理では、CRインターフェース部163から遊技媒体貸出信号を受信して遊技媒体貸出信号センサ信号がオンであるか否かを判定し、遊技媒体貸出信号がオンの場合(CRインターフェース部163からの球貸要求を入力した場合)には、RAM408に設けた遊技媒体貸出情報記憶領域に遊技媒体の貸出要求があったことを示す情報を記憶する。
ステップS1306では、払出管理処理を行う。この払出管理処理では、上述のエラーステータス記憶領域から不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、センサ回路420を介して入力する払出センサ158の信号(以下、払出センサ信号と称する場合がある)に基づいて払出個数の監視を行う。すなわち、所定のエラー(ここでは、いずれかのエラー)が発生している場合にはモータの駆動、すなわち払出装置からの賞媒体(例えば遊技球)の払出を停止するようにしている。具体的には、払出センサ158の信号を検出して払出センサ信号がオンであるか否かを判定し、払出センサ信号がオンの場合(払出センサを球が通過した場合)には払出完了数チェックに1を加算して払出完了数チェック記憶領域に記憶する。また、賞球および貸出球の要求が無いときに払出センサ信号がオンになった場合には、上述のエラーステータス記憶領域に不正払出エラーを示す情報を設定し、賞球数または貸出球数が各々の要求数を超え、その超過数が所定数以上になった場合には、上述のエラーステータス記憶領域に払出超過エラーを示す情報を設定する。
また、上述のエラーステータス記憶領域から皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、払出開始監視処理、初期位置検索動作処理、通常払出動作処理、リトライ動作処理、逆回転動作処理のいずれかの処理を行う。
払出開始監視処理では、貸出要求数、および賞球要求数が0であり、次賞球要求数が0以外の場合は、賞球要求数に次賞球要求数をセットし、次賞球要求数をクリアする。また、スプロケット157を駆動するモータの位置が不確定の場合(動作モードが初期位置検索動作モードの場合)には、払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶し、スプロケット157を駆動するモータの位置が確定している場合(動作モードが通常払出動作モードの場合)には、払出完了数チェックとして払出完了数チェック記憶領域に0を設定する。また、賞球要求数を、スプロケット157のモータを駆動する量(モータ駆動量)に変換し、これをRAM408に設けたモータ駆動量記憶領域に記憶すると共に、RAM408に設けたモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポート410を介してモータ制御回路424に出力する。これにより、モータ制御回路424はスプロケット157のモータの励磁位置を所定回変化してスプロケット157を正方向に回転駆動する。
初期位置検索動作処理および通常払出動作処理では、モータの駆動終了後に、払出完了数チェック記憶領域から払出完了チェックを読み出し、払出完了チェックが0の場合には、払出開始監視処理を実行する準備を行い、払出完了チェックが0以外の場合には、エラーステータス記憶領域に払出装置エラーを示す情報を設定すると共に、リトライ動作処理を実行する準備を行う。
リトライ動作処理では、所定の時間が経過するのを待ち(リトライ動作開始待ちタイマが0になるのを待ち)、リトライ動作開始待ちタイマが0になった場合には、逆回転動作処理を実行する準備を行う。逆回転操作処理では、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、逆転を示すモータ駆動制御データをI/Oポート410を介してモータ制御回路424に出力する。これにより、モータ制御回路424はスプロケット157のモータの励磁位置を所定回変化してスプロケット157を逆回転駆動する。また、逆回転操作処理では、モータの駆動終了後に払出開始監視処理を実行する準備を行う。
ステップS1307では、モータ駆動管理処理を行う。このモータ駆動管理処理では、駆動開始監視処理、加速駆動処理、定速駆動処理、ブレーキ駆動処理、駆動終了処理のいずれかの処理を行う。
駆動開始監視処理では、上述のエラーステータス記憶領域から皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポート410を介してモータ制御回路424に出力する。これにより、モータ制御回路424はスプロケット157のモータの励磁位置を所定回変化してスプロケット157を正方向に回転駆動する。
加速駆動処理および定速駆動処理では、スプロケット157が初期位置検索動作中、または、逆回転動作中の場合を除き、モータの励磁位置を16回変化させるごとに払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶する。また、更新後の払出完了数チェックが−4未満になった場合には、ブレーキ駆動処理を実行する準備を行う。さらに、上述の遊技媒体貸出情報記憶領域から遊技媒体貸出情報を読み出して、遊技媒体の貸出要求があったことを示す情報の有無を判定し、遊技媒体の貸出要求があったことを示す情報がある場合(賞球の払出中にCRインターフェース部163からの球貸要求を入力した場合)にも、ブレーキ駆動処理を実行する準備を行う。
ブレーキ駆動処理では、所定の時間が経過するのを待ち(モータ駆動管理タイマが0になるのを待ち)、モータ駆動管理タイマが0になった場合には、駆動終了処理を実行する準備を行い、駆動終了処理では、モータ駆動の後処理を行う。
ステップS1308では、LED管理処理を行う。このLED管理処理では、エラーステータス記憶領域の不正払出エラー情報が不正払出エラーが発生中であることを示している場合には、不正払出エラーが発生していることを遊技者に報知するためのLEDを点灯させるとともに、不正払出エラーが発生していないことを示している場合にはそのLEDを消灯させる。また、エラーステータス記憶領域の払出超過エラー情報が払出超過エラーが発生中であることを示している場合には、払出超過エラーが発生していることを遊技者に報知するためのLEDを点灯させるとともに、払出超過エラーが発生していないことを示している場合にはそのLEDを消灯させる。
ステップS1309では、信号出力管理処理を行う。この信号出力管理処理では、RAM408に記憶している遊技情報(例えば払出センサ信号を入力するたびに出力する賞球信号)を、情報出力回路(図示せず)を介してパチンコ機100とは別体の情報入力回路550に出力する。
ステップS1310では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS1301で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
以上説明したように、本実施例1に係るパチンコ機100は、起動信号(本実施例ではリセット信号)を入力した場合に、遊技制御用に動作するCPU304を含む制御回路(本実施例では基本回路)302と、起動信号を制御回路302に出力する起動信号出力回路338と、制御回路302に電力を供給する電源回路(本実施例では電源管理部)500と、電源回路500から制御回路302に供給している電圧が特定の値未満である場合に、低電圧信号を出力する電圧監視回路336と、を備え、起動信号を入力した場合に、電圧監視回路336が低電圧信号の出力を停止するまで、遊技制御の開始を待機させる処理(本実施例では、主として、主制御部リセット割り込み処理のステップS103が該当)を制御回路302に含むことを特徴とする、遊技台である。
換言すれば、本実施例1に係るパチンコ機100は、遊技動作用のプログラムを記憶するプログラム記憶部(本実施例ではROM)306、および起動信号を入力した場合に前記プログラムを読み出して動作するCPU304を含む制御回路302と、起動信号を制御回路302に出力する起動信号出力回路338と、制御回路302に電力を供給する電源回路500と、電源回路500から制御回路302に供給している電圧が特定の値未満である場合に、低電圧信号を出力する電圧監視回路336と、を備え、起動信号を入力した場合に、電圧監視回路336が低電圧信号の出力を停止するまで、遊技制御の開始を待機させる処理を前記プログラムに含むことを特徴とする、遊技台である。
本実施例1に係るパチンコ機100によれば、遊技の進行中に電源異常が発生しても制御データを保護することができる場合がある。起動信号出力回路が起動信号を出力した直後(例えば遊技台の電源が投入された直後)は、電源が不安定に変動する場合がある。その変動により遊技台の制御部(例えば主制御部300、払出制御部400)が予測していない動作(例えば暴走、RAM308・RAM408の破壊)などをする場合がある。この起動信号出力回路が起動信号を出力する時間帯は、朝の遊技店開店前に限らず、何らかの要因(例えば、雷が遊技店近傍に落ちることにより遊技店内の配電経路の一部に発生するショート・オープン。人的ミス)で遊技台に電力が供給されなくなってしまったり、電源管理部500から主制御部300、払出制御部400に接続する電力供給経路の一部が、何らかの要因(例えば、静電気ノイズ。人的ミス)により、所定の期間(例えば瞬間的に)ショート・オープンしてしまうことで、主制御部300、払出制御部400に電力が供給されなくなってしまったりした後、電力が供給される状態に復帰した場合にも、起動信号を出力する時間帯となる。すなわち、遊技店が開店した後で、遊技者が遊技を進行させている期間中にも起動信号出力回路が起動信号を出力する可能性は充分にある。特にそういった期間中に電力が不安定に変動しながら主制御部300、払出制御部400に電力が供給されると、主制御部300は暴走などにより、遊技上の条件を充足していないにも関わらず可変入賞口130や第2特別始動口128を閉鎖状態から開放状態に変化させてしまったり、遊技上の条件を充足していないにも関わらず大当たりフラグ、当りフラグの状態を変化(例えばオフであったものをオン)させてしまうといった不具合が発生する可能性がある。払出制御部400については、暴走などにより、予め定めた払出契機に無いにも関わらず、払出装置154のスプロケットを回転駆動してしまい、正規ではない払出をおこなってしまう場合がある。またRAM408に記憶している払出予定賞球数の値を賞球の払出センサ信号の入力などとは無関係に変化させてしまうといった不具合の可能性もある。そこで電圧監視回路336、426により各基板に供給される電圧の大きさを監視し、各基板に供給される電圧が特定の値になるまで遊技制御の開始を待機させる処理を各制御部(例えば主制御部300、払出制御部400)に設けることで、これら各制御部に供給される電力が不安定な時間帯には、遊技制御のうち所定の制御を行わないように構成することで遊技台に予め定めていない制御の実行を抑制することができる場合がある。ここで所定の制御とは、遊技者への利益の大きさに影響を与えるような処理、例えば抽選、乱数生成、入賞口への球入賞検出、第2始動口、可変入賞口の開閉制御、図柄の変動時間制御用タイマの値の更新、払出装置の駆動制御、払出センサ信号からの信号入力、主制御部300からサブ制御部350・払出制御部400へのコマンド信号生成および出力、エラー監視制御などのうちの1、複数または全部の処理に適用してもよい。さらに主制御部300、払出制御部350などに設けたRAM(RAM308、RAM408)への書き込み制御などに適用してもよい。また制御部(例えば主制御部300、払出制御部400)の基本回路における所定の処理(例えばS103、S1002)の直後に、その制御部に供給される所定の電力線の電圧が上述の特定の値未満になったとしても、所定の処理(例えば電断時処理S324、S325、S1011)を終了するまでは、その基本回路が動作可能な電力が供給され続けるような値を特定の値として設定しているので、制御部での電力が不安定に供給されて変動するとしても、進行中の遊技に関する情報が破壊されずに、電断時処理で確実に保存することができる場合がある。
また、パチンコ機100は、遊技制御中に低電圧信号を入力した場合に、遊技制御を終了させる処理(本実施例では、主として、主制御部タイマ割り込み処理のステップS321が該当)を更に備えるため、遊技制御中に電源異常が発生しても即座に遊技制御を終了させることが可能となり、制御データをより確実に保護することができる場合がある。遊技店が開店した後で、遊技者が遊技を進行させている期間中にも電源電圧が不安定に変動する可能性は充分にあり、起動信号出力回路が起動信号を出力した直後については上述のとおりだが、さらに、電圧監視回路336、426により各基板に供給される電圧の大きさを監視し、各基板に供給している電圧が特定の値未満になった場合に遊技制御を終了する処理をおこなうようにしているので、遊技制御中に電源電圧が不安定に変動する事象が発生したとしても進行中の遊技に関する情報を保存し、電源電圧が安定的な状態に復帰した場合に、上述の進行中の遊技から再開可能にしているので、遊技が不慮の事象により終了してしまうことにより遊技者が感じる不快感および遊技台の稼動の低下を減少することが可能になる場合がある。さらに遊技制御の開始の条件に用いる信号と遊技制御の終了に用いる信号を同一の信号としているので、その信号を出力する電圧監視回路、および電圧監視回路から基本回路までの信号線を共通化させられ、制御部の回路構成を単純化できる場合があり、コストダウンおよび設計ミスの減少といった効果を奏する場合がある。
また、パチンコ機100は、制御回路302に供給している電圧が特定の値未満となってからも、所定の第1の時間に亘って制御回路302に供給する電力を蓄電する蓄電装置と、制御回路302が出力する制御信号を第1の時間よりも長い第2の時間受信しなかった場合に制御回路302に初期化信号を送信する初期化回路(本実施例ではWDT)313と、を更に備え、遊技制御中に低電圧信号を入力した場合に、遊技制御を終了させる処理と、初期化信号を入力した場合に、電圧監視回路が低電圧信号の出力を停止するまで、遊技制御の開始を待機させる処理と、を制御回路302に更に含むため、制御データを確実に保護することができる場合がある。第1の時間よりも第2の時間が長くなるような蓄電装置および初期化回路を設けたので進行中の遊技に関する情報を保管している期間中に初期化信号を入力してしまい、その進行中の遊技から再開できないといった不具合を起こす危険を減少させ、進行中の遊技に関する情報を確実に保存することができる場合がある。また制御回路が制御信号を出力(上述の例ではステップS302)してから電圧監視回路が出力する低電圧信号を入力(上述の例ではステップS321)するまでの時間を上述の第2の時間から減算した時間を第3の時間とすると、第3の時間を第1の時間よりも長くなるような蓄電装置および初期化回路を設けてもよい。このように構成しても進行中の遊技に関する情報を保管している期間中に初期化信号を入力してしまい、その進行中の遊技から再開できないといった不具合を起こす危険を減少させ、進行中の遊技に関する情報を確実に保存することができる場合がある。
なお、上述の実施例における各種記憶領域は必ずしもRAMに設ける必要はなく、例えば、情報を一時的に記憶すれば足りるような場合には各制御部のCPUのレジスタなどに記憶してもよい。
また、遊技状態格納領域には、単一の情報を記憶可能なだけではなく、複数の遊技状態に関する情報を並列的に記憶可能に構成してもよい。すなわち、複数単位の記憶領域により構成してもよい。
また、処理は1つの命令、複数の一連の命令、および一連ではない複数の命令などを示し、サブルーチン全体、分岐から復帰までの一連の命令に限定しているものではない。
また、ステップ101では、WDT313の初期値として32.8msに相当する数値を設定したが、WDT313に設定する初期値はこれに限定されるものではない。また、ステップS104では、主制御部タイマ割り込みの割り込み周期として約2msに相当する数値を設定し、ステップS1003では、払出制御部タイマ割り込みの割り込み周期として約2msに相当する数値を設定したが、タイマ割り込みの周期はこれに限定されるものではない。
また、ステップS201では、機能限定タイマの初期値として3を設定したが、本発明はこれに限定されず、例えば、主制御部タイマ割り込みの周期を1msに設定し、機能限定タイマの初期値として6を設定すれば、機能限定ウェイト処理において初期値を設定し、且つ、主制御部タイマ割り込みの割り込みを許可してから、最大で6ms(=1ms(主制御部タイマ割り込みの周期)×6)後、最小で5ms(=1ms(主制御部タイマ割り込みの周期)×5)後に機能限定を解除することになり、機能限定解除の時間の誤差(ゆらぎ)を小さくすることができる。
また、ステップS303の入力ポート状態更新処理では、複数回の監視結果に基づいて、遊技領域104内の所定の位置を遊技媒体が通過したと判定するように構成したが、本発明はこれに限定されず、この判定処理を行わなくてもよい。この場合、上述の実施例では、ステップS307において制御状態を機能限定状態であると判定すれば、入力ポート状態更新処理による判定結果を用いる処理を行わずに後続の処理に分岐させることができる。
また、ステップS310の入賞受付処理では、前々回検出信号記領域、前回検出信号記領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定したが、いずれかの検出信号の有無の情報をマスクしてもよく、例えば、前回検出信号記領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去2回分の検出信号の有無の情報が一致するか否かを判定してもよい。
また、主制御部タイマ割り込み処理では、ステップS307において制御状態が機能限定状態ではないと判定するまで、入力ポート状態更新処理による判定結果を用いる処理を行わずに後続の処理に分岐させるように構成したが、スキップする処理はステップS308〜ステップS317の処理に限定されるものではなく、例えば、制御状態が機能限定状態の場合にステップS317の外部出力信号設定処理を行ってもよい。
また、ステップS411では、払出要求数と加工データの排他的論理和(EXOR)を算出することで払出要求情報を加工を行ったが、例えば、払出要求数と加工データの論理積(AND)や論理和(OR)を算出することで払出要求情報を加工を行ってもよく、この場合、払出制御部では否定論理積(NAND)や否定論理和(NOR)を用いて加工の解除を行えばよい。
また、タイマ更新処理では、タイマ1〜タイマ9の9種類のタイマを約2ms毎に更新し、タイマ10を約10ms毎に更新したが、本発明はこれに限定されず、例えば、タイマ制御データテーブルの12行目のタイマ更新周期を10に設定すれば、タイマ1〜タイマ9の9種類のタイマを約2ms毎に更新し、タイマ10を約20ms毎に更新することができる。また、タイマ制御データテーブルの2行目のタイマ個数を5に設定し、その次にタイマ1〜5の格納アドレスを記憶し、その次にタイマ更新周期として5、タイマ個数として5を記憶し、その次にタイマ6〜10の格納アドレスを記憶すれば、タイマ1〜タイマ5の5種類のタイマを約2ms毎に更新し、タイマ6〜10の5種類のタイマを約10ms毎に更新することもできる。
また、実施例では、電源回路500から遊技制御回路302に供給している電圧が特定の値未満である場合に、第1の低電圧信号を出力する第1の電圧監視回路336と、電源回路500から払出制御回路402に供給している電圧が特定の値未満である場合に、第2の低電圧信号を出力する第2の電圧監視回路426の2つの電圧監視回路を設けたが、本発明はこれに限定されず、電源回路500から遊技制御回路302および払出制御回路402に供給している電圧の両者を1つの電圧監視回路で監視し、第1の低電圧信号または/および第2の低電圧信号を出力するように構成してもよい。
また、実施例では、主制御部300に電圧監視回路336を1つだけ設け、また払出制御部400に電圧監視回路426を1つだけ設けているが、これに限定されず、所定の制御部(主制御部300、払出制御部400など)に電圧監視回路を複数設け、それら複数の電圧監視回路のそれぞれが別々の電力線を監視し、これら複数の電力線のうちの1、複数または全部の電力線の電圧値が所定の値未満になったことを検出した場合に、低電圧信号を該所定の制御部に設けた基本回路に出力するようにしてもよい。このように構成することで、所定の制御部による制御を確実におこなうことができ、遊技台が予測していない動作を行うといった不具合(例えば暴走、RAM破壊)を抑制することができる場合がある。ここで複数の電力線のうち1、複数または全部の電力線が同じ電圧で電力を配電するようにしてもよいし、全てが別の値の電圧となるように電力を配電するようにしてもよい。
また、実施例では、所定の制御部(主制御部300、払出制御部400)の基本回路(302、402)で動作する処理のうち、遊技制御の開始を待機させる処理(S103、S1002)が遊技制御の開始を待機させる条件としている低電圧信号がオンであること、および遊技制御を終了させる処理を実行するかどうかの判定処理(S323、S1010)で、該遊技制御を終了させる処理を実行する条件としている低電圧信号がオンであることの2つに関して、同一の低電圧信号を用いているが、これに限定されない。例えば、所定の制御部の所定の電力線を複数の電圧監視回路で監視し、第1の監視回路は第1の電圧値よりもその所定の電力線の電圧値が低い場合に第1の低電圧信号を、また複数の電圧監視回路のうち第1の電圧監視回路とは別の第2の電圧監視回路は第1の電圧値とは別の第2の電圧値よりもその所定の電力線の電圧値が低い場合に第2の低電圧信号を、それぞれ所定の制御部の基本回路に出力するように構成し、上述の遊技制御の開始を待機させる条件を第1の低電圧信号がオン(第1の電圧監視回路が第1の低電圧信号を出力している状態)であること、また上述の該遊技制御を終了させる処理を実行する条件を第2の低電圧信号がオン(第2の電圧監視回路が第2の低電圧信号を出力している状態)であること、などとそれぞれの条件を異ならせても良い。この場合第1の監視回路と第2の監視回路は同一基体内に集積するように構成してもよい。これらの場合、第1の電圧値と第2の電圧値との関係は、第1の電圧値を第2の電圧値よりも高くして適用した場合であれば、遊技制御の開始を所定の制御部に供給される電力の電圧値が充分に高い電圧値になるまで待機するので、所定の制御部、特に基本回路が不安定な動作を実行することをより確実に防止することができ、また遊技台が予測していない動作をおこなうといった不具合(例えば暴走、RAM破壊)を抑制することができる場合があるとともに、遊技制御を終了させる処理の実行は、所定の制御部に供給される電力の電圧値が第1の電圧値よりも低い第2の電圧値になるまで遊技制御を継続するので、制御期間を長く継続でき、また、遊技制御の終了処理から所定の制御部、特に基本回路の電源が完全に遮断されるまでの期間を短くすることができ、所定の制御部、特に基本回路が不安定な動作を実行することをより確実に防止することができ、また遊技台が予測していない動作をおこなうといった不具合(例えば暴走、RAM破壊)をより抑制することができる場合がある。逆に第2の電圧値を第1の電圧値よりも高くして適用した場合であれば、遊技台に電源供給を開始してから遊技制御の開始を迅速におこなうことができる場合があるとともに、遊技制御を終了させる処理の実行は、所定の制御部に供給される電力の電圧値が遊技制御の終了処理から所定の制御部、特に基本回路の電源が完全に遮断されるまでの期間を充分に長く維持することができるので、電断時の所定の制御部、特に基本回路の制御状態を確実に保存することができる場合がある。
また、実施例に挙げた払出制御部リセット割り込み処理などについては、遊技制御の終了処理の後でさらに電圧を監視し、所定の低電圧信号がオフになると所定の処理(例では起動信号を入力してから最初に開始する処理)に移行するように構成しているが、この所定の処理に移行する条件を上述の遊技制御を終了させる処理を実行する条件で使用している第2の低電圧信号がオフ(第2の電圧監視回路が第2の低電圧信号を出力していない状態)としてもよい。所定の制御部への電力供給が断たれた場合であれば、遊技制御を終了させる処理を実行する条件で使用している第2の低電圧信号がオンになった後で、遊技制御を終了させる処理を実行するので、さらに電圧は低下しているはずであるにも関わらず電圧値が下がっていない、または上昇している場合には、ノイズ、電力の不安定な変動などが原因で第2の低電圧信号を基本回路は入力し、遊技制御を終了させる処理を実行させた可能性が高い。そのような場合を考えるとこの構成は所定の処理に早く移行することができるので、ノイズ、電力の不安定な供給が原因で遊技を中断する期間を少なくすることができ、遊技を中断している遊技者の不快感および遊技台の稼動の低下を減少することが可能になる場合がある。またこの場合、所定の処理に移行する条件として、上述の遊技制御の開始を待機させる条件で使用している第1の低電圧信号がオフになった場合を適用しても同様の効果を得られる場合がある。
また、上述の複数の電圧監視回路のうち第1・第2の電圧監視回路とは別の第3の電圧監視回路を設け、その第3の電圧監視回路は第1・第2の電圧値とは別の第3の電圧値よりもその所定の電力線の電圧値が低い場合に第3の低電圧信号を、それぞれ所定の制御部の基本回路に出力するように構成し、上述の所定の処理に移行する条件として、上述の第3の低電圧信号がオフ(第3の電圧監視回路が第3の低電圧信号を出力していない状態)にである場合としてもよい。このように構成することで各条件に応じた電圧値を適宜設定することができる場合があり、所定の制御部、特に基本回路が不安定な動作を実行することをより確実に防止することができ、また遊技台が予測していない動作を行うといった不具合(例えば暴走、RAM破壊)を抑制することができる場合がある。この場合第3の電圧値を第2の電圧値よりも低く設定することで、遊技制御を終了させる処理の実行で減少する電力を加味した最適な形式とすることができる場合がある。
また、電圧監視回路(336、426)、第1〜第3の電圧監視回路を主制御部および払出制御部の両方に備える例を挙げたが、これに限定されず、主制御部に低電圧信号を出力する電圧監視回路および払出制御部に低電圧信号を出力する電圧監視回路を主制御部、払出制御部、または電源管理部のいずれか1つに設けても良く、1つの電圧監視回路が主制御部および払出制御部の両方に低電圧信号を出力するように構成し、この電圧監視回路を主制御部、払出制御部、または電源管理部のいずれか1つに設けても良い。
また、各々の球検出センサにおける過去3回分の検出信号の有無の情報が予め定めた入賞判定パターン情報(実施例では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合にその球検出センサに対応する入賞口などへの入賞と判定するとともに、機能限定状態を継続する期間の長さをこの過去の検出信号の有無の情報の個数分に対応させる例を挙げたがこれに限定されず、機能限定状態を継続する期間の長さをこの過去の検出信号の有無の情報の個数分よりも長くするようにしてもよい。また、入賞判定パターンも予め定めていればどのようなものでもよく、各々の球検出センサにおける過去2回分の検出信号の有無の情報が予め定めた入賞判定パターン情報(例えば、前回検出信号無し、今回検出信号有りであることを示す情報)と一致した場合にその球検出センサに対応する入賞口などへの入賞と判定するようにしても良いし、各々の球検出センサにおける過去4回分の検出信号の有無の情報が予め定めた入賞判定パターン情報(例えば、3回前検出信号無し、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合にその球検出センサに対応する入賞口などへの入賞と判定するようにしても良い。また複数の球検出センサの全てがオフ(通過非検出)の場合にオンに設定し、1つでもオン(通過検出)の場合にオフに設定するフラグをRAM308に設け、このフラグがオンに設定されたタイマ割り込み処理の次回以降の所定回数(例えば、1回、2回)、連続してオン(通過検出)を出力した球検出センサ(上述複数の球検出センサに含まれるもの)に対応する入賞口などへの入賞があったと判定するようにしてもよい。
また、入賞判定パターン情報と一致しているかどうかの判定に使用する検出信号の有無の情報を生成するための過去の所定回数分(例えば過去3回分)の検出結果が、今回の検出結果を含んでいるようにしてもよい。
また、払出制御部リセット割り込み処理(図17)では、低電圧信号がオンになった場合に電断時処理に移行し、その後低電圧信号がオフに変化した場合に、所定の処理(このフローでは初期設定1)に処理を移行し、さらに低電圧信号がオフになるまで所定の制御(このフローでは払出制御、復電制御)に移行しないように待機している。通常、電源オフなどにより電力の供給が停止した場合には、その後なだらかに電力(電圧)が低下していくような回路構成にしているが、この低下していく際に電圧値は波打ちながら低下していく場合があり、低電圧信号がオンとオフを繰り返す現象が発生する場合がある。そのため、この払出制御部リセット割り込み処理のように、電断時処理のあとで低電圧信号がオフになった場合に、直ちに所定の制御(このフローでは払出制御、復電制御)に移行しないように、ステップS1002で低電圧信号がオフになるまで制御の進行を待機させることで、所定の制御部(例えば払出制御部400)、特に基本回路402が不安定な動作を実行することをより確実に防止することができ、また遊技台が予測していない動作を行うといった不具合(例えば暴走、RAM408の破壊)を抑制することができる場合がある。このような処理を他の制御部(例えば主制御部300、演出制御部350)に適用するようにしてもよい。
また、各々の球検出センサにおける過去3回分の検出信号の有無の情報が予め定めた入賞判定パターン情報(例では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合にその球検出センサに対応する入賞口などへの入賞と判定するとともに、機能限定状態を継続する期間の長さをこの過去の検出信号の有無の情報の個数分に対応させる例を挙げたが、さらに所定の装置(例えばガラス枠151)の状態(例えば開放状態、閉鎖状態)を確認するために、該所定の装置が第1の状態(例えば開放状態)である場合にオン信号を出力し、第1の状態とは別の第2の状態(例えば閉鎖状態)の場合にオフ信号を出力する所定の検出装置を備えて、所定の回数(例えば2回)分の検出装置からの信号の有無(オン、オフ)の情報が予め定めた入賞判定パターン情報(例えば、前回検出信号有り、回検出信号有りであることを示す情報)と一致した場合にその所定の装置の状態が第1の状態と判定し、一致しなかった場合には第2の状態と判定するようにしてもよい。このように第1の検出装置からの第1の回数分の信号に基づく第1の判定と、第2の検出装置からの第2の回数分の信号に基づく第2の判定と、について第1の回数と第2の回数が異なる場合には、第1の回数と第2の回数とのうち一方に対応する回数に対応する期間に亘って、この第1の判定および第2の判定をおこなわない期間限定処理を継続するようにしても良い。例えば第1の回数の方が第2の回数よりも多い場合には、第1の回数に対応する期間に亘って、この第1の判定および第2の判定をおこなわない期間限定処理を継続するようにしても良いし、第2の回数に対応する期間に亘って、この第1および第2の判定をおこなわない第1の期間限定処理と、該第1の期間限定処理の終了から第1の判定処理をおこなわずに、第2の判定をおこなう第2の期間限定処理を継続するようにしてもよい。例えば第1の判定として上述の入賞口などへの球通過判定を適用し、第2の判定としてガラス枠151の上述の状態判定を適用すると、電源投入から2回のタイマ割り込み処理では上述の球通過判定および上述のガラス枠151の状態判定の両方をおこなわず、3回目のタイマ割り込み処理では上述の球通過判定をおこなわず、上述のガラス枠151の状態判定はおこない、4回目移行のタイマ割り込み処理では上述の球通過判定および上述のガラス枠151の状態判定の両方の判定をおこなうようにしてもよい。こうすることで処理時間を短縮することができ、処理の負荷を低減させられる場合がある。
また、実施例では、払出制御部400のRAM408のエラーステータス記憶領域に記憶している各装置のエラー情報(例えば皿満杯エラーを示す情報など)のうち、所定のエラーが発生していることを示す情報がオンの場合には、払出用スプロケット157を回転させるためのモータの駆動、すなわち払出装置からの賞媒体(例えば遊技球)の払出を停止するようにするとともに、所定の期間(例えば上述のモータ駆動中)主制御部300から受信した払出要求情報に含まれている賞球数を次賞球要求数に加算・記憶しておき、該所定の期間の終了後に、その次賞球要求数分の賞球を連続的に払い出すように、払出用スプロケット157を回転させるためのモータを駆動するようにしているが、このような構成とすることで、遊技中は常に皿を満杯(球抜きレバーを操作しない)にしておくことで皿満杯エラーをわざと発生させて払出を停止し、かつ賞球数を次賞球要求数に加算・記憶しておき、遊技の終了時に球抜きレバーを操作して皿満杯エラーを解消させて、全ての賞球を一度に払出させるようなことをする遊技者に対しても、払出用スプロケット157を回転させるためのモータの駆動が従来の機械のような間欠的なものではなく、連続的に払出する構成であることから払出時間を短縮でき、遊技者を待たせる時間を減少させられるとともに、待ち時間が長い場合に生じる遊技者のイライラ感・不快感を減らすことができる場合がある。
また、基本コマンドに、遊技情報(特図抽選状態が低確率なのか、高確率なのか、特図変動時間短縮状態か通常状態か、第2始動口開放時間延長状態か通常状態かなど)を含めるようにしてもよく、復帰コマンド、基本コマンドなどに、大当たりフラグの値、確変フラグの値を含めるようにしてもよい。
また、本実施例における普通図柄変動遊技は、普図始動口124に球が入賞したことを所定の球検出センサが検出した場合に、ステップS310の入賞受付処理で、普図当選乱数値を取得し、取得した値をRAM308の所定の記憶領域に記憶するところから開始し、ステップS313の普図関連抽選処理でRAM308の所定の記憶領域に記憶している乱数カウンタの値を普図タイマ乱数値として取得し、RAM308の所定の記憶領域に記憶してある普図当選乱数値に基づいて当否判定し、その判定結果と取得した普図タイマ乱数値に基づいて普図の変動時間の決定をおこない、その変動時間の間に亘って普図を変動表示し、さらに前述の当否判定結果に基づいて決定した普図1または普図2の停止表示を行って終了する。
また、本実施例における特別図柄変動遊技は、第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に、ステップS310の入賞受付処理で、特図当選乱数値および特図乱数値を取得し、取得した値をRAM308の所定の記憶領域にそれぞれ記憶するところから開始し、ステップS315の特図抽選処理でRAM308の所定の記憶領域に記憶している乱数カウンタの値を特図タイマ乱数値として取得し、RAM308の所定の記憶領域に記憶してある特図当選乱数値に基づいて当否判定し、RAM308の所定の記憶領域に記憶してある特図乱数値に基づいて確変の当否判定をおこない、当否判定結果、確変の当否判定結果、および取得した特図タイマ乱数値などに基づいて特図の変動時間を決定し、その変動時間の間に亘って特図を変動表示し、さらに前述の当否判定結果および確変の当否判定結果に基づいて決定した特図1、特図2または特図3の停止表示を行って終了する。
また、本実施例における入賞には、遊技盤102に設けた入賞口や始動口に球が入球した場合のほか、遊技盤102に設けた通過領域を球が通過した場合(例えば、普図始動口124を球が通過した場合)も含まれる。また、始動口は、必ずしも本実施例で示される位置に設ける必要は無く、例えば、特定の入賞口内の特定の領域を始動口として機能させてもよい。
また、可変入賞口130は、球が入賞不可能な閉状態と、入賞可能な開状態の2種類の開閉状態に変化するものに限定されず、球が入賞可能な第1の開状態と、第1の開状態よりも入賞が容易な第2の開状態の2種類の開状態に変化するものも含まれる。
また、本実施例では、大当たりに対応する図柄組合せ(大当たり図柄組合せ)を装飾図柄表示装置110に停止表示した場合に大当たり遊技の開始となるが、大当たり遊技の開始条件はこれに限定されるものではない。したがって、例えば、大当たり図柄組合せを停止表示した後で、盤面の特定のゲートを遊技球が通過した場合、大当たり図柄組合せを停止表示した後で、盤面の特定の入賞口に遊技球が通過した場合、大当たり図柄組合せを停止表示した後で、大入賞口(可変入賞口)以外の入賞口内の特定の領域を遊技球が通過した場合、特定の入賞口に遊技球が入賞したことを条件に開放した大入賞口(可変入賞口)内の特定の領域を遊技球が通過した場合、などを大当たり遊技の開始条件としてもよい。
また、本実施例における特図は、特図表示装置114が変動表示および停止表示する図柄全てを示しており、変動表示する図柄のみ、または、停止表示する図柄のみを示すものではない。さらに、本実施例における普図や装飾図柄も同様に、普図表示装置112や装飾図柄表示装置110が変動表示および停止表示する図柄全てを示しており、変動表示する図柄のみ、または、停止表示する図柄のみを示するものではない。
また、大当たりフラグおよび確変フラグの両方がオンの場合には上述の特図1、大当たりフラグがオンで確変フラグがオフの場合には上述の特図2、大当たりフラグおよび確変フラグの両方がオフの場合には上述の特図3を停止表示するようにしたが、確変フラグの値によらず大当たりフラグがオンの場合には上述の特図2、大当たりフラグがオフの場合には特図3を停止表示し、確変フラグがオンの場合には高確中ランプ120を点灯させるようにしてもよい。もちろん、大当たりフラグがオンで確変フラグがオフの場合に停止表示する特図の停止態様を1または複数種類、大当たりフラグおよび確変フラグの両方がオンの場合に停止表示する特図の停止態様を1または複数種類、および大当たりフラグおよび確変フラグの両方がオフの場合に停止表示する特図の停止態様を1または複数種類用意しておいてもよい。このように確変移行判定の結果を特図表示装置114が報知するようにしてもよい。
なお、遊技状態として高確率状態、低確率状態、大当たり状態の3つを例示したが、これら以外にも、第2特別始動口128に設けた羽根の開放継続時間が所定の時間である通常開放状態と、その所定の時間よりも長い開放延長状態と、を設け、この2つの状態についても遊技状態に含めてもよい。また、普図表示装置112の変動時間を所定の変動時間とする通常変動状態(普図)と、該所定の変動時間よりも短い変動時間とする短縮変動状態(普図)と、を設け、この2つの状態についても遊技状態に含めてもよい。また、特図表示装置114の変動時間を所定の変動時間とする通常変動状態(特図)と、該所定の変動時間よりも短い変動時間とする短縮変動状態(特図)と、を設け、この2つの状態についても遊技状態に含めてもよい。また、普図変動遊技の結果を当選とするか否かの抽選における当選確率を所定の確率とする低確率状態(普図)と該所定の確率よりも高い高確率状態(普図)とを設け、この2つの状態についても遊技状態に含めてもよいし、これら複数の状態を複合して発生させるようにしてもよい。例えば、上述の特図1で大当たりした場合には大当たりの終了後に特図の変動開始および停止を所定回数(例えば50回)繰り返すまでの間、高確率状態、高確率状態(普図)、開放延長状態、短縮変動状態(普図)、短縮変動状態(特図)の5つの状態を複合して遊技者に有利な状態を発生させ、その所定回数の経過、または上述の特図2を停止表示しての大当たりが終了した場合には、次に大当たりを開始するまでの間、低確率状態、低確率状態(普図)、通常開放状態、通常変動状態(普図)、通常変動状態(特図)の5つの状態を複合して遊技者に不利な状態を発生させ、上述の特図1で大当たりした場合には大当たりの終了後に次に大当たりを開始するまでの間、高確率状態、高確率状態(普図)、開放延長状態、短縮変動状態(普図)、短縮変動状態(特図)の5つの状態を複合して遊技者に最も有利な状態発生させるようにしてもよい。
また、確変フラグがオンであり、装飾図柄表示装置110に装飾2−装飾2−装飾2など大当たり終了後に確率変動となることを確定的に報知しない大当たり図柄の組合せを停止表示した場合には、大当たり開始前、大当たり中、大当たり終了後のいずれかのタイミングで確変となること、または確変となったことを装飾図柄表示装置110による特定の画像表示で報知する場合には、その特定の画像表示で報知すること、報知する特定画像の種類、報知するタイミングなどのうち1、複数又は全部に基づいて、演出のパターンを選択するようにしてもよい。ここで確変となること、または確変となったことの特定の画像による報知は、装飾図柄表示装置110に装飾2−装飾2−装飾2など大当たり終了後に確率変動となることを確定的に報知しない大当たり図柄の組合せを停止表示したが、大当たり終了後に確変となることを昇格、確変、または確率変動などといった文字情報を含んだ画像を装飾図柄表示装置110などに表示することなどにより確定的に報知することを示している(これを昇格演出と呼ぶ)。
また、上述の実施例では、特図表示装置114に特図1または特図2を停止表示した場合に、大当たり遊技または特別大当たり遊技を開始すると記載したが、特図表示装置114に特図1または特図2を停止表示した場合に確変フラグが示す値によらず大当たり遊技を開始し、その大当たり終了後に遊技状態を高確状態にするようにしてもよいし、特図表示装置114に特図1または特図2を停止表示した場合に確変フラグがオンの場合には大当たり遊技中に可変入賞口130を15回開閉(15ラウンドの大当たり)し、確変フラグがオフの場合には大当たり遊技中に可変入賞口130を5回開閉(5ラウンドの大当たり)するようにしてもよい。
また、上述の実施例では、第1始動口用抽選データと第2始動口用抽選データを別データとした例を示したが、これに限定されず、第1始動口に遊技球が入賞したことを検出した場合、および第2始動口に遊技球が入賞したことを検出した場合に行う大当たり判定の両方で、単一の所定の抽選データを参照するようにしてもよい。
また、上述の実施例においては、遊技台として、遊技球を遊技媒体としたパチンコ機の例を示したが、本発明に係る遊技台はこれに限定されるものではなく、例えば、メダル(コイン)を遊技媒体としたパチスロ機(スロットマシン)などにも適用可能である。
さらに、本発明は、前述のパチスロ機やパチンコ遊技機等の実機の他、これらのパチスロ機等の実機の動作を家庭用ゲーム機用として擬似的に実行するようなゲームプログラムにおいても、本発明を適用してゲームを実行することができる。その場合、ゲームプログラムを記録する記録媒体は、DVD−ROM、CD−ROM、FD(フレキシブルディスク)、その他任意の記録媒体を利用できる。
以上、本発明の実施例を説明したが、発明の実施の形態に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。