<全体構成>
まず、図1を用いて、パチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
パチンコ機100は、ガラス製または樹脂製の透明板部材152および透明部材保持枠(ガラス枠)154からなる扉部材156の奥側に視認可能に配設した後述する遊技盤(盤面)102を備えている。
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。
図2は、遊技盤102を正面から見た略示正面図である。遊技盤102には、外レール106と内レール108とを配設し、遊技球(以下、単に「球」と称する場合がある。)が転動可能な遊技領域104を区画形成している。
遊技領域104の略中央には、演出装置200を配設している。この演出装置200には、略中央に横長の装飾図柄表示装置110を配設し、その周囲に、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留ランプ116と、特別図柄保留ランプ118と、高確中ランプ120を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
演出装置200は、可動部を動作して演出を行うものであり、詳細については後述する。装飾図柄表示装置110は、装飾図柄ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施例では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置110は、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cおよび演出表示領域110dの4つの表示領域に分割し、左図柄表示領域110a、中図柄表示領域110bおよび左図柄表示領域110cはそれぞれ異なった装飾図柄を表示し、演出表示領域110dは演出に用いる画像を表示する。さらに、各表示領域110a、110b、110c、110dの位置や大きさは、装飾図柄表示装置110の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置110は、液晶表示装置に代えて、ドットマトリクス表示装置、7セグメント表示装置、EL(ElectroLuminescence)表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
普図表示装置112は、普図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。特図表示装置114は、特図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。
普図保留ランプ116は、保留している普図変動遊技の数を示すためのランプであり、本実施例では、普図変動遊技を2つまで保留することを可能としている。特図保留ランプ118は、保留している特図変動遊技の数を示すためのランプであり、本実施例では、特図変動遊技を4つまで保留することを可能としている。高確中ランプ120は、遊技状態が高確率状態(後述する大当り遊技の当選確率を通常の確率よりも高く設定した遊技状態)であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態(後述する大当り遊技の当選確率を通常の確率に設定した遊技状態)から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
また、この演出装置200の周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。一般入賞口122は、本実施例では遊技盤102に複数配設しており、この一般入賞口122への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置552を駆動し、所定の個数(本実施例では10個)の球を賞球として貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
普図始動口1124は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤102の左側に1つ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の玉検出センサが検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
第1特図始動口126は、本実施例では遊技盤102の中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では3個)の球を賞球として貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施例では第1特図始動口126の真下に1つだけ配設している。この第2特図始動口128は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では5個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
可変入賞口130は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤102の中央部下方に1つだけ配設している。この可変入賞口130は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では15球)の球を賞球として貯留皿144に排出する。なお、可変入賞口130に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材132や、遊技釘134を複数個、配設していると共に、内レール108の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口136を設けている。
このパチンコ機100は、遊技者が貯留皿144に貯留している球を発射レール142の発射位置に供給し、遊技者の操作ハンドル148の操作量に応じた強度で発射モータ602を駆動し、発射杆138および発射槌140によって外レール106、内レール108を通過させて遊技領域104に打ち出す。そして、遊技領域104の上部に到達した球は、打球方向変換部材132や遊技釘134等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口124を通過するのみでアウト口136に到達する。
<演出装置>
次に、パチンコ機100の演出装置200について説明する。この演出装置200の前面側には、ワープ装置230およびステージを配設し、演出装置200の背面側には、装飾図柄表示装置110および遮蔽手段250を配設している。すなわち、演出装置200において、装飾図柄表示装置110および遮蔽手段250は、ワープ装置230およびステージの後方に位置することとなる。
ワープ装置230は、演出装置200の左上方に設けた入球口232に入った遊技球を演出装置200の前面下方の前面ステージ234に排出し、さらに、前面ステージ234に排出した遊技球が前面ステージ234の中央部後方に設けた第2の入球口236に入った場合は、遊技球を、第1特図始動口126の上方である演出装置200の下部中央に設けた排出口238から第1特図始動口126に向けて排出するものである。この排出口238から排出した遊技球は特図始動口126に入球しやすくなっている。
遮蔽手段250は、格子状の左扉250aおよび右扉250bからなり、装飾図柄表示装置110および前面ステージ234の間に配設する。左扉250aおよび右扉250bの上部には、図示しない2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉250aおよび右扉250bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段250は、左右扉250a、250bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置110を視認し難いように遮蔽する。左右扉250a、250bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置110の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置110の表示の全てを視認可能である。また、左右扉250a、250bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左右扉250a、250bは、格子の孔から後方の装飾図柄表示装置110の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置110による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置110を全く視認不可にしてもよい。
図3は、パチンコ機100を背面側から見た外観斜視図である。パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク152と、この球タンク152の下方に位置し、球タンク152の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置154に導くためのタンクレール153とを配設している。
払出装置154は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158とを備えている。スプロケット157は、モータによって回転可能に構成されており、タンクレール153を通過して払出装置154内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置154の下方へ1個ずつ送り出すように構成している。
払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
払出装置154の左側には、後述する主制御部300を構成する主基板161と、後述する副制御部400を構成するサブ基板164とを配設している。また、これら主基板161やサブ基板164の下方には、後述する発射制御部600を構成する発射基板166と、後述する電源管理部650を構成する電源基板162と、後述する払出制御部550を構成する払出基板165と、この払出基板165に接続したCRインターフェース部163とを配設している。
<図柄の種類>
次に、図4(a)〜(c)を用いて、パチンコ機100の特図表示装置114、装飾図柄表示装置110、普図表示装置112が停止表示する特図および普図の種類について説明する。
同図(a)は特図の停止表示態様の一例を示したものである。本実施例の特図の停止表示態様には、大当たり図柄である「特図1」と、特別大当たり図柄である「特図2」と、外れ図柄である「特図3」の3種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置114は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図の変動表示」を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技の当選を報知する場合には「特図1」または「特図2」を停止表示し、特図変動遊技の外れを報知する場合には「特図3」を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
同図(b)は装飾図柄の一例を示したものである。本実施例の装飾図柄には、「装飾1」〜「装飾10」の10種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件にして、装飾図柄表示装置110の左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cの各図柄表示領域に、「装飾1」→「装飾2」→「装飾3」→・・・・「装飾9」→「装飾10」→「装飾1」→・・・の順番で表示を切り替える「装飾図柄の変動表示」を行う。そして、大当たりを報知する場合には、図柄表示領域110a〜110cに大当たりに対応する図柄組合せ(本実施例では、同一の数字の装飾図柄の組合せ(例えば、「装飾2−装飾2−装飾2」))を停止表示し、特別大当たりを報知する場合には、特別大当たりに対応する図柄組合せ(本実施例では、同一の奇数番号数字の装飾図柄の組合せ(例えば、「装飾1−装飾1−装飾1」))を停止表示する。なお、大当たりに対応する図柄の組合せを停止表示した場合には、大当たり遊技または特別大当たり遊技を開始し、特別大当たりに対応する図柄の組合せを停止表示した場合には、特別大当たり遊技を開始する。また、外れを報知する場合には、図柄表示領域110a〜110cに大当たりに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
同図(c)は普図の停止表示態様の一例を示したものである。本実施例の普図の停止表示態様には、当たり図柄である「普図1」と、外れ図柄である「普図2」の2種類がある。普図始動口124を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置112は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図1」を停止表示し、普図変動遊技の外れを報知する場合には「普図2」を停止表示する。
<制御部>
次に、図5を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に演出の制御を行う副制御部400と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部550と、遊技球の発射制御を行う発射制御部600と、パチンコ機100に供給される電源を制御する電源管理部650によって構成している。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312と、WDT(ウォッチドッグタイマ)313を搭載している。なお、ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する副制御部400についても同様である。この基本回路302のCPU304は、水晶発振器314bが出力する外部クロックをクロック回路340(図6参照。詳細は後述)で所定の分周比(この例では、1/2)で分周したシステムクロックSCLKを、基本クロックとして入力して動作する。
また、基本回路302には、水晶発振器314aが出力する乱数用クロックRCKを受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路(乱数回路)316を搭載している(詳細は後述する)。
また、基本回路302には、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ318が出力する信号を受信し、増幅結果や基準電圧との比較結果を基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留ランプ116、特図保留ランプ118、高確中ランプ118等)の表示制御を行うための表示回路328と、第2特図始動口128や可変入賞口130等を開閉駆動する各種ソレノイド330を制御するためのソレノイド回路332と、電源が投入されるとCPU304に対して起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を接続している。
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、普図始動口124に球が入賞したことを示す信号を受信した場合も同様に、普図始動口124に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、普図始動口124に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路652にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
また、主制御部300は、副制御部400にコマンドを送信するための出力インタフェースと、払出制御部550にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部400および払出制御部550との通信を可能としている。なお、主制御部300と副制御部400および払出制御部550との情報通信は一方向の通信であり、主制御部300は副制御部400および払出制御部550にコマンド等の信号を送信できるように構成しているが、副制御部400および払出制御部550からは主制御部300にコマンド等の信号を送信できないように構成している。
<副制御部>
次に、パチンコ機100の副制御部400について説明する。副制御部400は、主に主制御部300が送信したコマンド等に基づいて副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発振器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路402には、スピーカ416(およびアンプ)の制御を行うための音源IC418と、各種ランプ420の制御を行うための表示回路422と、演出装置200の演出用可動体等を駆動する駆動装置であるソレノイドまたはモータ等が含まれる各種演出用駆動装置424の制御を行うための演出用駆動装置制御回路426と、装飾図柄表示装置(液晶表示装置)110および遮蔽手段250の制御を行うための副制御部500と、チャンスボタン146の押下を検出して信号を出力するチャンスボタン検出回路380を接続している。
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部550、発射制御部600、電源管理部650について説明する。払出制御部550は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置552を制御すると共に、払出センサ554が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部556を介して、パチンコ機100とは別体で設けられたカードユニット654との通信を行う。
発射制御部600は、払出制御部550が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ602の制御や、貯留皿144から発射レール142に球を供給する球送り装置604の制御を行う。
電源管理部650は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、副制御部400等の各制御部や払出装置552等の各装置に供給する。さらに、電源管理部650は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。
<主制御部の基本回路>
次に、図6を用いて、主制御部300の基本回路302について詳細に説明する。なお、同図は基本回路の内部構成図である。
基本回路302は、上述のCPU304、ROM(内蔵ROM)306、RAM(内蔵RAM)308、カウンタタイマ(タイマ回路、カウンタ回路)312、カウンタ回路(乱数回路)316、I/O(外部バスインターフェイス、パラレル入力ポート、シリアル通信回路、アドレスデコード回路)310、WDT313に加えて、クロック回路340、照合用ブロック342などを備える。
クロック回路340は、上述の水晶発振器314b(以下、システム用水晶発振器314bと称する場合がある)からEX端子を介して入力される外部クロックEX(この例では、24MHzのクロック)を所定の分周比(この例では、1/2)で分周し、分周後のシステムクロックSCLK(この例では、12MHzのクロック)をCPUコアや内部の各回路に供給する回路である。照合用ブロック342は、外部の照合機と接続し、チップの照合(チップの真贋についてのチェック)を行うブロックである。乱数回路316は、詳細は後述するが、上述の水晶発振器314a(以下、乱数用水晶発振器314aと称する場合がある)からRCK端子を介して入力される乱数用クロックRCK(この例では、10MHzのクロック)に基づいてカウント値のカウントを行って乱数値を発生させるための回路である。なお、本実施例では、乱数用クロックRCKの周波数を、システムクロックSCLKの周波数(この例では、12MHz)未満であって、後述する主制御部タイマ割り込み処理の周期としてカウンタ・タイマ312に設定する周期(この例では2ms)以上の周波数に設定している。
図7は、基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの一例を示した回路ブロック図である。
本実施例では、基本回路302とシステム用水晶発振器314bを結ぶ信号線Lsの長さを、基本回路302と乱数用水晶発振器314aを結ぶ信号線Lrの長さよりも短く設定している(Lr>Ls)。このような構成により、システム用水晶発振器314bを基本回路302の近傍に配置することができ、且つ、基本回路302とシステム用水晶発振器314bを結ぶ信号線Lsの長さを短くすることができるため、システム用水晶発振器314bから出力される外部クロックEXの信号を、安定して基本回路302のクロック回路340に供給することができるとともに、この外部クロックEXの信号に基づいて生成されるシステムクロックSCLKの信号も、安定してCPUコアや内部の各回路に供給することができる。
また、クロック信号の供給源と供給先を結ぶ信号線の長さは、クロック信号に外乱が加わらないようになるべく短く設定するのが一般的であるが、基本回路302と乱数用水晶発振器314aを結ぶ信号線Lrの長さを敢えて長めに設定し、信号線Lrを通る乱数用クロックRCKの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックRCKの信号に基づいてカウント値のカウントを行う乱数回路316のカウント値の更新タイミングにバラツキを与え、乱数回路316が生成する乱数値のランダム性をさらに高めることができる。
さらに、基本回路302とシステム用水晶発振器314bを結ぶ信号線Lsの長さと、基本回路302と乱数用水晶発振器314aを結ぶ信号線Lrの長さを異ならせることにより、基本回路302近傍の部品の配置の自由度を高めることができる。
<乱数回路>
次に、図8および図9を用いて、基本回路302が備える乱数回路(カウンタ回路)316について詳細に説明する。なお、図8は乱数回路の内部構成図であり、図9は乱数回路が備える周波数監視回路の内部構成図である。
乱数回路316は、乱数回路chAおよび乱数回路chBの2つの乱数回路を備える。なお、乱数回路chBの内部構成は、乱数回路chAと同一であるため、図示は省略している。
乱数回路chAおよびchBは、外部信号入力に基づく乱数値の取込、または、ソフトウェアに基づく乱数値の取込のいずれかを選択するための乱数ラッチ選択レジスタと、ソフトウェアに基づく乱数値の取込を設定した場合に乱数値を取り込むための乱数値取り込みレジスタと、取り込まれた乱数値を格納するための乱数値レジスタ1〜8(図7には乱数値レジスタ1〜4のみ図示)と、乱数値レジスタ1〜8に乱数値が取り込まれたことを示すための乱数ラッチフラグレジスタと、乱数割込みを制御するための乱数割込み制御レジスタと、乱数列を変更するための乱数列変更レジスタと、乱数用クロックRCKの異常の有無を示すクロック信号状態を記憶する内部情報レジスタを有して構成されている。
この乱数回路316は、各チャネル毎に異なった乱数列を持つ2種類の16ビット乱数値を発生させることが可能であるとともに、ROM306の所定領域に設けた乱数使用設定、乱数初期設定、乱数取込設定の内容を変更することによって、乱数回路chAおよびchBの使用/未使用、初期値・乱数列変更方法の選択、乱数値の更新周期、乱数値の取り込み方法、割込条件などを変更することが可能である。本実施例では、P0端子は第1特図始動口126に入球があった場合に出力される特図1始動口入球検出信号、P1端子は第2特図始動口128に入球があった場合に出力される特図2始動口入球検出信号、P2端子は普図始動口124に入球があった場合に出力される普図始動口入球検出信号がそれぞれ入力されるようにセンサ回路320と接続されているが、これに限定されない。
また、乱数回路chAおよびchBは、周波数監視回路316aを備えている。この周波数監視回路316aは、図9に拡大して示すように、上述のクロック回路340から出力されるシステムクロックSCLKが入力される平滑回路と、上述の水晶発振器314aからRCK端子を介して入力される乱数用クロックRCKが入力される平滑回路と、平滑後のシステムクロックSCLKの周波数と乱数用クロックRCKの周波数を比較し、RCKの周波数がシステムクロックSCLKの周波数以下(RCK=<SCLK)である場合に、乱数用クロックRCKの周波数が異常になったと判定し内部情報レジスタのクロック信号状態ビットを1にセットする比較器と、を備えている。
主制御部300のCPU304は、所定のタイミングで内部情報レジスタのクロック信号状態ビットを参照する。そして、内部情報レジスタのクロック信号状態ビットが1にセットされている場合(乱数用クロックRCKの周波数がシステムクロックSCLKの周波数以下(RCK=<SCLK)である場合)には、乱数用クロックRCKに何らかの異常(例えば、乱数回路316と水晶発振器314aとを結ぶ配線パターンの断線)が発生したと判定し、内部情報レジスタのクロック信号状態ビットが0にセットされている場合(乱数用クロックRCKの周波数がシステムクロックSCLKの周波数より大きい(RCK>SCLK)場合)には、乱数用クロックRCKが正常であると判定する。
なお、本実施例では、乱数用クロックRCKの周波数がシステムクロックSCLKの周波数以下(RCK=<SCLK)である場合に乱数用クロックRCKの異常と判定しているが、本発明はこれに限定されず、例えば、異常と判定する閾値を複数種類設け、この複数種類の閾値の中から1つの閾値を選択可能に構成してもよい。また、システムクロックSCLKの周波数や、乱数用クロックRCKの周波数は、本実施例で示した数値に限定されるものではない。たとえば、所定の情報(たとえばROMに記憶された情報)に基づいて、RCK=<2×SCLK、RCK=<1/2×SCLKなど、異常の判定方式を設定できるようにしてもよい。なお、理想的には、12MHzのシステムクロックSCLKに対して、10MHzの乱数用クロックRCKが3MHz以下(システムクロックの1/4以下)の周波数になった場合に異常とすることが望ましい。
<主制御部メイン処理>
次に、図10を用いて、主制御部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が、電源管理部650から主制御部300に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS102に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS104に進む。
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
ステップS105では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはステップS107に進む。同様に電源ステータスの情報が「サスペンド(電断時処理が行われたことを示す情報)」以外の情報を示している場合にもステップS108に進む。
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS107に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS107に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS106に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS107に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS107に進む。
ステップS106では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS108、ステップS109内の所定の)命令の次の命令から処理を再開する。
ステップS107では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
ステップS108では、割り込み禁止の設定を行った後、基本乱数更新処理を行う。この基本乱数更新処理では、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の乱数カウンタもそれぞれ同様に更新する。また、この基本乱数更新処理の終了後に割り込み許可の設定を行ってステップS109に進む。
ステップS109では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS108およびS109の処理を繰り返し実行する。
<主制御部タイマ割り込み処理>
次に、図11を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
主制御部300は、所定の周期(本実施例では約2msに1回)でタイマ割り込み信号を発生するカウンタ・タイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
ステップS201では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS202では、WDT313のカウント値が初期設定値(本実施例では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施例では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。
ステップS203では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述のガラス枠154が開放状態または閉鎖状態のいずれの状態であるかを検出するための開放センサ、上述の下皿150が球で一杯になったか否かを検出するための下皿満タンセンサ、および複数の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。本実施例では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
ステップS204およびステップS205では、大当たり種別用乱数更新処理および基本乱数更新処理を行う。これらの大当たり種別用乱数更新処理および基本乱数更新処理では、次に主制御部300で使用する大当たり種別用乱数等を更新する。なお、更新の方法は上述のステップS108およびS109と同様である。
ステップS206では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
ステップS207では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS208では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。なお、乱数用クロックRCKが異常であっても入賞に対する賞球払出数の増加を制限する理由がないため、後述するステップ209のように乱数用クロックRCKに異常がある場合でも特別な処理を行わないが、不正者に対する懲罰的な意味で乱数用クロックRCKに異常がある場合に賞球数を加算しない等の所定の処理を行ってもよい。また、次のステップS209では、入賞受付処理を行う(詳細は後述する)
ステップS210では、払出要求数送信処理を行う。なお、払出制御部550に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に今回加工種別(0〜3)、およびビット0〜3に加工後の払出要求数を示すようにしている。
ステップS211では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(後述する普図汎用タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、上述の普図1の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、上述の普図2の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
また、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間(例えば2秒間)、第2特図始動口128の羽根部材の開閉駆動用のソレノイド330に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド330に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
また、所定の閉鎖期間を経過したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップS212に移行するようにしている。
ステップS212では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口128の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
ステップS213では、特図状態更新処理を行う(詳細は後述する)。ステップS214では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、大当たり判定テーブル、高確率状態移行判定テーブル、タイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、大当たり種別用乱数が、移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、大当たり種別用乱数が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含むタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS215)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に01Hを送信情報(一般情報)として追加記憶してから処理を終了する。
ステップS215では、コマンド設定送信処理を行う。なお、副制御部400および払出制御部550に送信する出力予定情報(コマンド)は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(00Hの場合は基本コマンド、01Hの場合は図柄変動開始コマンド、04Hの場合は図柄変動停止コマンド、05Hの場合は入賞演出開始コマンド、06Hの場合は終了演出開始コマンド、07Hの場合は大当たりラウンド数指定コマンド、0EHの場合は復電コマンド、0FHの場合はRAMクリアコマンド、10Hの場合は乱数クロック異常コマンドをそれぞれ示すなど、コマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
具体的には、ストローブ情報はコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に01H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に04H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に05H、コマンドデータにRAM308に記憶している入賞演出期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に06H、コマンドデータにRAM308に記憶している演出待機期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に07H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に08H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
ステップS216では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路652に出力する。
ステップS217では、デバイス監視処理を行う。このデバイス監視処理では、ステップ203において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無または下皿満タンエラーの有無などを監視し、ガラス枠開放エラーまたは下皿満タンエラーを検出した場合に、副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS210)で設定した出力予定情報を出力ポート310を介して副制御部400に出力する。
ステップS218では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS220に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS219に進む。
ステップS219では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
ステップS220では、電源管理部650から主制御部300に供給している電源の電圧値を監視する電圧監視回路が、所定の値以下である場合に電圧が低下したことを示す電圧低下信号を出力しているか否か、すなわち電源の遮断を検知したか否かを監視し、電源の遮断を検知した場合には、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行う。また、電源ステータスを「サスペンド」に設定する。
<入賞受付処理>
次に、図12を用いて、上述の主制御部タイマ割り込み処理における入賞受付処理について説明する。なお、同図は入賞受付処理の流れを示すフローチャートである。
ステップS301〜ステップS303では、前々回第1特図始動口検出信号記憶領域、前回第1特図始動口検出信号記憶領域、および今回第1特図始動口検出信号記領域の各記憶領域に記憶した第1特図始動口球検出センサの検出信号の有無の情報を比較し、第1特図始動口球検出センサにおける過去3回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、第1特図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、今回第1特図始動口検出信号がオン、前回第1特図始動口検出信号がオン、前々回第1特図始動口検出信号がオフであることを示す情報)と一致した場合に、第1特図始動口126への入球があったと判定する。例えば、第1特図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、第1特図始動口126への入球があったと判定し、以降の第1特図始動口126への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の第1特図始動口126の入球に伴う処理を行わずに処理を終了する。
ステップS304では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップS305の処理を実行することなくステップS306に進み、乱数用クロックの周波数に異常がない場合には、ステップS305に進む。
ステップS305では、カウンタ回路(乱数回路)316から乱数を取得する。より具体的には、第1特図始動口126に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、第1特図始動口126に対応するカウンタ回路316の乱数値レジスタから取り出した値を特図当選乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから取り出した値を特図乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。
ステップS306〜ステップS308では、前々回第2特図始動口検出信号記憶領域、前回第2特図始動口検出信号記憶領域、および今回第2特図始動口検出信号記領域の各記憶領域に記憶した第2特図始動口球検出センサの検出信号の有無の情報を比較し、第2特図始動口球検出センサにおける過去3回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、第2特図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、今回第2特図始動口検出信号がオン、前回第2特図始動口検出信号がオン、前々回第2特図始動口検出信号がオフであることを示す情報)と一致した場合に、第2特図始動口130への入球があったと判定する。例えば、第2特図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、第2特図始動口128への入球があったと判定し、以降の第2特図始動口128への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の第2特図始動口128の入球に伴う処理を行わずに処理を終了する。
ステップS309では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップS310の処理を実行することなくステップS311に進み、乱数用クロックの周波数に異常がない場合には、ステップS310に進む。
ステップS310では、カウンタ回路(乱数回路)316から乱数を取得する。より具体的には、第2特図始動口128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、第2特図始動口128に対応するカウンタ回路316の乱数値レジスタから取り出した値を特図当選乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから取り出した値を特図乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。
ステップS311〜ステップS313では、前々回普図始動口検出信号記憶領域、前回普図始動口検出信号記憶領域、および今回普図始動口検出信号記領域の各記憶領域に記憶した普図始動口球検出センサの検出信号の有無の情報を比較し、普図始動口球検出センサにおける過去3回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、普図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、今回普図始動口検出信号がオン、前回普図始動口検出信号がオン、前々回普図始動口検出信号がオフであることを示す情報)と一致した場合に、普図始動口124を球が通過したと判定する。例えば、普図始動口球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、普図始動口124の球の通過があったと判定し、以降の普図始動口124の球の通過に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の普図始動口124の球の通過に伴う処理を行わずに処理を終了する。
ステップS314では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップS315の処理を実行することなく処理を終了し、乱数用クロックの周波数に異常がない場合には、ステップS315に進む。
ステップS315では、カウンタ回路(乱数回路)316から乱数を取得する。より具体的には、普図始動口124に入賞があり、且つ、保留している普図変動遊技の数が2未満である場合には、普図始動口124に対応するカウンタ回路316の乱数値レジスタから値を普図当選乱数値として取得する。また、上述の普図乱数値生成用の乱数カウンタから値を普図乱数値として取得し、RAM308に設けた乱数値記憶領域に普図当選乱数値と共に記憶する。
なお、本実施例においては、CPU304は、各種始動口検出信号に入力がオン→オンと、最低で1回の割込み周期分の期間(本実施例では2ms)を経なければカウンタ回路316の乱数値レジスタの値をラッチしないように構成されている。一方、乱数値レジスタは、各種始動口検出信号が入力された場合のラッチ信号は、乱数用クロックRCKの4周期分のオンレベルの信号を経なければラッチが行われないようになっている。本実施例では乱数用クロックRCKは10MHzであるため、最大でも0.4μs+0.1μs=0.5μs未満でラッチは完了する。すなわち、上記ステップS305などで乱数値レジスタから値を取得する前に各種始動口検出信号によるラッチは確実に終了しているように構成されている。
<特図状態更新処理>
次に、図13を用いて、上述の主制御部タイマ割り込み処理における特図状態更新処理について説明する。なお、同図は特図状態更新処理の流れを示すフローチャートである。
ステップS401では、内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップS402〜S409の処理を実行することなく、ステップS410に進み、乱数用クロックの周波数に異常がない場合には、ステップS402に進む。
ステップS402では、特図変動中であるか否かを判定し、該当する場合にはステップS403に進み、該当しない場合にはステップS406に進む。ステップS403では、特図表示装置112を構成する7セグメントLEDが、前回は消灯であったか否かを判定し、前回が消灯の場合はステップS405に進んで7セグメントLEDを点灯し、前回が点灯の場合はステップS404に進んで7セグメントLEDを消灯する。これにより、7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
ステップS406では、特図変動停止であるか否かを判定し、該当する場合にはステップS407に進み、該当しない場合は処理を終了する。
ステップS407では、大当たりフラグの情報に応じて特図を停止表示する。具体的には、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に、上述の特図1、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に、上述の特図2、大当たりフラグがオフの場合には、上述の特図3の態様となるように特図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行う。
ステップ408では、停止表示期間を設定する。具体的には、所定の停止表示期間(例えば500m秒間)、特図の表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。
ステップS409では、停止コマンドの出力設定を行った後、処理を終了する。具体的には、コマンド設定送信処理(上記ステップS215)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に02Hを送信情報(一般情報)として追加記憶する。
また、図示はしないが、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。
ステップS410では、大当たりフラグをオフ(ハズレ)に設定し、ステップS411では、特図の変動を停止する。また、次のステップS412では、コマンド設定送信処理(上記ステップS215)で乱数用クロック異常による停止設定送信処理を実行させるために上述の送信情報記憶領域に10Hを送信情報(一般情報)として追加記憶して処理を終了する。なお、乱数用クロックRCKに異常があった場合は、特図または/および普図の表示を消してもよい。
<払出制御部メイン処理>
次に、図14を用いて、払出制御部550が実行する払出制御部メイン処理について説明する。なお、同図は払出制御部メイン処理の流れを示すフローチャートである。
払出制御部400には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した払出制御部400のCPUは、リセット割り込みによりリセットスタートしてROMに予め記憶している制御プログラムに従って処理を実行する。
ステップS501では、初期設定1を行う。この初期設定1では、CPUのスタックポインタ(SP)へのスタック初期値の設定等を行う。
ステップS502では、低電圧信号がオンであるか否か、すなわち、電圧監視回路が、電源管理部650から払出制御部550に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS502の処理を繰り返し実行し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS503に進む。
ステップS503では、初期設定2を行う。この初期設定2では、後述する払出制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマに設定する処理、RAMへの書き込みを許可する設定、I/Oポートの初期設定等を行う。
ステップS504では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(パチンコ機100を初期状態にする場合)にはステップS506に進み、電断前の状態に復帰する場合にはステップS505に進む。
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、パチンコ機100を初期状態にすべくステップS506に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAMに設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、パチンコ機100を初期状態にすべくステップS506に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAMの所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が0の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS505に進み、チェックサムの結果が0以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS506に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS506に進む。
ステップS505では、復電時処理を行う。この復電時処理では、RAMの記憶領域のうち、復電時にクリアすべき記憶領域(コマンドを格納するためのコマンドバッファ、エラー状態を記憶するためのエラーステータスなどを除く記憶領域)の初期化などを行う。
ステップS506では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAMの所定の領域(例えば、全ての記憶領域)の初期化などを行う。
ステップS507では、初期設定3を行う。この初期設定3では、RAMに設けたエラーステータス記憶領域に記憶したエラーステータスのうち、不正払出エラーと払出超過エラー以外の情報をクリアしたり、割り込み許可の設定などを行う。
ステップS508では、主制御部300から入力したデータの中に未解析データがあるか無いかを判定し、未解析データがある場合にはステップS509でコマンド解析処理を行い、未解析データがない場合にはステップS510に進む。
ステップS510では、低電圧信号がオフであるか否かを監視し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS508に戻り、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS511に進む。
ステップS511では、電断時処理を行う。この電断時処理では、RAMに設けたスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、RAMの所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム(電断時チェックサム)として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、RAMへの書き込みを禁止する設定などを行う。
ステップS512では、低電圧信号がオンであるか否かを監視し、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS512の処理を繰返し実行して低電圧信号がオフになるのを待ち、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS501に戻り、払出制御部リセット割り込み処理を最初から開始する。
<払出制御部タイマ割り込み処理>
次に、図15(a)を用いて、払出制御部550のCPUが実行する払出制御部タイマ割り込み処理について説明する。なお、同図は払出制御部タイマ割り込み処理の流れを示すフローチャートである。
払出制御部550は、所定の周期(本実施例では1msに1回)でタイマ割り込みを発生するカウンタ・タイマを備えており、このタイマ割り込みを契機として払出制御部タイマ割り込み処理を所定の周期で開始する。
ステップS601では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPUの各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップS602では、ポート入力管理処理を行う。このポート入力管理処理では、I/Oポートの値を取得して、各種センサの状態などを検出する。
ステップS603では、タイマ更新管理処理を行う。このタイマ更新管理処理では、払出報知用LEDの点灯/消灯時間、モータ駆動/非駆動時間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS604では、エラー管理処理を行う。このエラー管理処理では、主制御部300から乱数クロック異常コマンドを受信しているか否かを判定し、該当する場合にはRAMに設けたエラーステータス記憶領域に乱数クロック異常を示す情報を記憶する。また、I/Oポートに入力する皿満杯信号を検出して皿満杯信号がオンであるか否かを判定し、皿満杯信号がオンの場合(下皿150が球で一杯になっている場合)には、RAMに設けたエラーステータス記憶領域に皿満杯エラーを示す情報を記憶し、皿満杯信号がオフの場合(下皿150に球を貯留する空きができた場合)には、エラーステータス記憶領域に皿満杯エラーの解除を示す情報を記憶する。また、主制御部300と払出制御部550との間の通信回線が断線などにより通信可能かどうかを検出し、通信可能な場合には、RAMに設けたエラーステータス記憶領域に通信可能であることを示す情報を、また通信不可能な場合には通信不可能であることを示す情報を記憶する。また、エラー管理処理では、I/Oポートに入力するエラー解除スイッチ信号を検出してエラー解除信号がオンであるか否かを判定し、エラー解除信号がオンである場合には、エラーステータス記憶領域に記憶している、乱数クロック異常を示す情報、不正払出エラーの情報、または、払出超過エラーの情報を初期化して、これらのエラーを解除する。
なお、乱数クロック異常を示す情報に関しては、他のエラーと異なりエラー解除スイッチ信号を検出した場合でもエラーが解除されないようにしてもよい。なぜなら、乱数クロック異常の場合は、エラーを復帰した場合に保留された特図の変動を行うとして、その特図抽選にかかる乱数の信頼性が極めて低いため、エラー解除で復帰させて変動後の遊技を行わせたくない場合があるためである。また、「複数の異常状態があり、第1の種類の異常状態は異常解除入力により異常状態を解除可能に設けられ、第2の種類の異常状態は異常解除入力により異常状態を解除不能に設けられ、第2の種類の異常状態は少なくとも乱数クロックの異常状態を含む」ことは、他の制御部やスロットマシンにも適用できる。この場合、「第2の種類の異常状態は、電源断時にもバックアップにより第2の種類の異常状態の記憶が保持されるようにし」てもよく、さらに「第2の種類の異常状態の記憶は、第2の種類の異常状態を含む複数の記憶情報の初期化により記憶を解除できるようにし」てもよく、さらに「複数の記憶情報は、遊技者の利益に関わる情報」を含んでもよく、さらに「遊技者の利益に関わる情報は乱数クロックに基づいて生成される乱数に基づいて抽選により決定される情報」であってもよい。これにより、乱数クロック異常を確実に報知できると共に、乱数クロックに異常があった場合に、乱数クロックにより基づいて抽選された利益を確実にクリアすることができるため、乱数クロック周波数の異常により遊技店が不利益を被ることを防止することができる。
ステップS605では、CRユニット通信管理処理を行う。このCRユニット通信管理処理では、上述のエラーステータス記憶領域に乱数クロック異常を示す情報が記憶されているか否かを判定し、乱数クロック異常を示す情報が記憶されている場合には、遊技媒体の貸出を行わないようにする。また、CRユニットに対してカードを返却する信号を出力しないようにする。具体的には、遊技媒体の貸出処理を飛ばしたり、CRユニットの返却処理を飛ばしたりする。一方、乱数クロック異常を示す情報が記憶されていない場合には、インターフェース部556から遊技媒体貸出信号を受信して遊技媒体貸出信号センサ信号がオンであるか否かを判定し、遊技媒体貸出信号がオンの場合(インターフェース部556からの球貸要求を入力した場合)には、RAMに設けた遊技媒体貸出情報記憶領域に遊技媒体の貸出要求があったことを示す情報を記憶する。
ステップS606では、払出管理処理を行う。この払出管理処理では、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、センサ回路を介して入力する払出センサの信号(以下、払出センサ信号と称する場合がある)に基づいて払出個数の監視を行う。すなわち、所定のエラー(ここでは、いずれかのエラー)が発生している場合にはモータの駆動、すなわち払出装置からの賞媒体(例えば遊技球)の払出を停止するようにしている。
また、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、払出開始監視処理、初期位置検索動作処理、通常払出動作処理、リトライ動作処理、逆回転動作処理のいずれかの処理を行う。
払出開始監視処理では、貸出要求数、および賞球要求数が0であり、次賞球要求数が0以外の場合は、賞球要求数に次賞球要求数をセットし、次賞球要求数をクリアする。また、スプロケットを駆動するモータの位置が不確定の場合(動作モードが初期位置検索動作モードの場合)には、払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶し、スプロケットを駆動するモータの位置が確定している場合(動作モードが通常払出動作モードの場合)には、払出完了数チェックとして払出完了数チェック記憶領域に0を設定する。また、賞球要求数を、スプロケットのモータを駆動する量(モータ駆動量)に変換し、これをRAMに設けたモータ駆動量記憶領域に記憶すると共に、RAMに設けたモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを正方向に回転駆動する。
初期位置検索動作処理および通常払出動作処理では、モータの駆動終了後に、払出完了数チェック記憶領域から払出完了チェックを読み出し、払出完了チェックが0の場合には、払出開始監視処理を実行する準備を行い、払出完了チェックが0以外の場合には、エラーステータス記憶領域に払出装置エラーを示す情報を設定すると共に、リトライ動作処理を実行する準備を行う。
リトライ動作処理では、所定の時間が経過するのを待ち(リトライ動作開始待ちタイマが0になるのを待ち)、リトライ動作開始待ちタイマが0になった場合には、逆回転動作処理を実行する準備を行う。逆回転操作処理では、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、逆転を示すモータ駆動制御データをI/Oポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを逆回転駆動する。また、逆回転操作処理では、モータの駆動終了後に払出開始監視処理を実行する準備を行う。
ステップS607では、モータ駆動管理処理を行う。このモータ駆動管理処理では、駆動開始監視処理、加速駆動処理、定速駆動処理、ブレーキ駆動処理、駆動終了処理のいずれかの処理を行う。
駆動開始監視処理では、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、モータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを正方向に回転駆動する。
加速駆動処理および定速駆動処理では、スプロケットが初期位置検索動作中、または、逆回転動作中の場合を除き、モータの励磁位置を16回変化させるごとに払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶する。また、更新後の払出完了数チェックが−4未満になった場合には、ブレーキ駆動処理を実行する準備を行う。さらに、上述の遊技媒体貸出情報記憶領域から遊技媒体貸出情報を読み出して、遊技媒体の貸出要求があったことを示す情報の有無を判定し、遊技媒体の貸出要求があったことを示す情報がある場合(賞球の払出中にインターフェース部556からの球貸要求を入力した場合)にも、ブレーキ駆動処理を実行する準備を行う。
ブレーキ駆動処理では、所定の時間が経過するのを待ち(モータ駆動管理タイマが0になるのを待ち)、モータ駆動管理タイマが0になった場合には、駆動終了処理を実行する準備を行い、駆動終了処理では、モータ駆動の後処理を行う。
ステップS608では、LED管理処理を行う。このLED管理処理では、エラーステータス記憶領域の乱数クロック異常を示す情報が異常を示している場合には、乱数用クロックの周波数に異常が発生していることを遊技者に報知するためのLEDを点灯させ、エラーステータス記憶領域の乱数クロック異常を示す情報が異常を示していない場合には、そのLEDを消灯させる。また、エラーステータス記憶領域の不正払出エラー情報が不正払出エラーが発生中であることを示している場合には、不正払出エラーが発生していることを遊技者に報知するためのLEDを点灯させるとともに、不正払出エラーが発生していないことを示している場合にはそのLEDを消灯させる。また、エラーステータス記憶領域の払出超過エラー情報が払出超過エラーが発生中であることを示している場合には、払出超過エラーが発生していることを遊技者に報知するためのLEDを点灯させるとともに、払出超過エラーが発生していないことを示している場合にはそのLEDを消灯させる。
ステップS609では、信号出力管理処理を行う。この信号出力管理処理では、RAMに記憶している遊技情報(例えば払出センサ信号を入力するたびに出力する賞球信号)を、情報出力回路(図示省略)を介してパチンコ機100とは別体の情報入力回路(図示省略)に出力する。
ステップS610では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS601で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
<ストローブ割り込み処理>
次に、図15(b)を用いて、払出制御部550のCPUが実行するストローブ割り込み処理について説明する。なお、同図はストローブ割り込み処理の流れを示すフローチャートである。
払出制御部550には主制御部300が出力するストローブ信号が入力されており、主制御部300が払出制御部550に対してコマンドを送信すると、このストローブ信号が払出制御部550に入力され、払出制御部550のCPUにストローブ割り込みが通知される。
ストローブ割り込みを検出した払出制御部550のCPUは、ストローブ割り込み処理を実行し、ステップS701において主制御部300から受信したコマンドをRAMの所定記憶領域に記憶する。
<副制御部メイン処理>
次に、図16(a)を用いて、副制御部400のCPU404が実行する副制御部メイン処理について説明する。なお、同図は副制御部メイン処理の流れを示すフローチャートである。
副制御部400には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した基本回路402のCPU404は、リセット割り込みによりリセットスタートしてROM406に予め記憶した制御プログラムに従って処理を実行し、まず、ステップS801で各種の初期設定を行う。この初期設定では、入出力ポートの初期設定や、各種変数の初期化等を行う。ステップS802では、コマンド入力処理(詳細は後述)を行う。
ステップS803では、I/O410の出力ポートを介して副制御部500にコマンドを出力する。ステップS804では、後述するタイマ変数記憶領域の値が10以上であるか否かを判定する。タイマ変数記憶領域の値が10以上である場合はステップS805に進み、タイマ変数記憶領域の値が10未満である場合にはステップS802に進む。ステップS805では、タイマ変数記憶領域に0を格納する。
ステップS806では、演出データ更新処理を行う。この演出データ更新処理では、後述するコマンド記憶領域の内容を確認し、主制御部300から乱数クロック異常コマンドを受信しているか否かを判断する。そして、乱数クロック異常コマンドを受信している場合には、装飾図柄表示装置110、遮蔽手段250、スピーカ416、各種ランプ420および演出装置200の演出用可動体等によって乱数クロックが異常であることを外部に報知するための動作制御データの更新を行う。一方、乱数クロック異常コマンドを受信していない場合には、後述する変動パターン選択処理で記憶する変動番号、仮停止図柄の組合せ、および停止図柄の組合せの種別の更新を行うと共に、装飾図柄の変動表示を開始してからの経過時間に基づいて装飾図柄表示装置110、遮蔽手段250、スピーカ416、各種ランプ420および演出装置200の演出用可動体等による演出を制御するための動作制御データの更新を行う。
ステップS806では、決定された演出情報が示している態様で装飾図柄変動表示を行うように次回実行する上記ステップS803の処理で副制御部500に出力するコマンド(例えば左に装飾7を停止することを指示するコマンドや遮蔽手段250を動作させるコマンド等)をRAM408に設けた液晶コマンド格納領域に格納する等、後述するステップS805、806、807によるスピーカ416、各種ランプ420、および演出用可動体を制御する準備を行う。また、所定の条件が成立している場合には所定の演出を実行するか否か、例えばチャンスボタンを用いた演出を行うか否か等の抽選を行う。
ステップS807では、音出力処理を行う。この音出力処理では、上記ステップS806で取得したスピーカ制御用の情報に含まれるスピーカ416に出力する音声データをI/O410の出力ポートに設定し、スピーカ416の出力制御を音源IC418に行わせる。例えば、上記ステップ806で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることをスピーカ416を用いて音声(例えば、警告音)で報知させる。
ステップS808では、ランプ制御処理を行う。このランプ制御処理では、上記ステップS806で取得した各種ランプ制御用の情報に含まれる各種ランプ420に出力するランプの点灯・消灯を示すデータ等をI/O410の出力ポートに設定し、各種ランプ420の点灯や消灯の制御を表示回路422に行わせる。例えば、上記ステップ806で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることを各種ランプ420を用いて光(例えば、点滅表示)で報知させる。
ステップS809では、演出用駆動装置制御処理を行う。この演出用駆動装置制御処理では、上記ステップS806で取得した演出用可動体の制御用の情報に含まれる動作タイミングを示すデータ等をI/O410の出力ポートに設定し、演出用可動体等を駆動する各種演出用駆動装置424の制御を演出用駆動装置制御回路426に行わせる。例えば、上記ステップ806で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることを演出用可動体を用いて動き(例えば、停止)で報知させる。
副制御部400は、後述するストローブ処理、チャンスボタン処理、または副制御部タイマ割り込み処理による中断を除いて、以降、ステップS802〜S809の処理を繰り返し実行する。
<コマンド入力処理>
次に、図16(b)を用いて、上記副制御部メイン処理におけるコマンド入力処理について説明する。同図はコマンド入力処理の流れを示すフローチャートである。
ステップS810では、後述するコマンド記憶領域の内容を確認し、未処理のコマンドが残っているか否かを判断する。そして、コマンド記憶領域に未処理のコマンドが残っている場合にはステップS812に進み、コマンド記憶領域に未処理のコマンドが残っていない場合には処理を終了して副制御部メイン処理に復帰する。
図16(c)は変動パターン選択処理の流れを示すフローチャートであり、同図(d)は図柄停止処理の流れを示すフローチャートである。ステップS821では、コマンド記憶領域に記憶している未処理コマンドのうちの次に処理するべき未処理コマンドの種類に基づいて、図16(c)に示す変動パターン選択処理(例えば未処理コマンドが上記図柄変動開始コマンドに基づいて実行する)や、同図(d)に示す図柄停止処理等を行う。未処理コマンドに基づく処理は他にも備えている。例えば、大当たり中に可変入賞口130の開放制御を開始するたびに主制御部300が出力し、大当たり開始後の可変入賞口130の開放回数を示す情報を含むラウンド開始コマンドが未処理コマンドである場合に行うラウンド開始処理等である。その他の処理は、ここでは割愛する。
変動パターン選択処理のステップS841では、未処理コマンドに含まれている上記大当たりフラグの値、確変フラグの値、およびタイマ番号を抽出し、RAM408のそれぞれの記憶領域に記憶する。また、上述の変動番号選択テーブルや図柄決定テーブルを参照して演出データ(本実施例では変動番号、仮停止図柄・停止図柄の組合せ等)を選択し、これをRAM408に設けた記憶領域に記憶した後、処理を終了する。
図柄停止処理のステップS861では、上記図柄記憶領域に記憶している停止図柄の組合せを構成する3つの装飾図柄を装飾図柄表示装置110の左、中、右図柄表示領域110a〜110cの3つの表示領域に表示するように設定して処理を終了する。また、上記ラウンド開始処理では未処理コマンドに含まれている上記大当たり開始後の可変入賞口130の開放回数を示す情報を抽出し、RAM408の記憶領域に記憶する。
<ストローブ割り込み処理>
次に、図16(e)を用いて、副制御部400のストローブ割り込み処理について説明する。なお、同図はストローブ割り込み処理の流れを示すフローチャートである。
このストローブ割り込み処理は、副制御部400が、主制御部300が出力するストローブ信号を検出した場合に実行する処理である。ストローブ割り込み処理のステップS861では、主制御部300が出力したコマンドを未処理コマンドとしてRAM408に設けた上記コマンド記憶領域に記憶する。
<チャンスボタン割り込み処理>
次に、図16(f)を用いて、副制御部400のチャンスボタン割り込み処理について説明する。なお、同図はチャンスボタン割り込み処理の流れを示すフローチャートである。
このチャンスボタン割り込み処理は、副制御部400がチャンスボタン検出回路364によってチャンスボタン146の操作を検出した場合に実行する処理である。
チャンスボタン割り込み処理のステップS881では、RAM408の検知カウンタ記憶領域に記憶している、チャンスボタン146の押下回数を計測するための検知カウンタから値を取得し、取得した値に1を加算してから元の検知カウンタ記憶領域に記憶する。
<変数更新割り込み処理>
次に、図16(g)を用いて、副制御部400のCPU404によって実行する変数更新割り込み処理について説明する。なお、同図は変数更新割り込み処理の流れを示すフローチャートである。
副制御部400は、所定の周期(本実施例では2msに1回)でタイマ割り込みを発生するハードウェアタイマを備えており、このタイマ割り込みを契機として、変数更新割り込み処理を所定の周期で実行する。
変数更新割り込み処理のステップS901では、RAM408のタイマ変数記憶領域の値に1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS304において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。
以上説明したように、本実施例1に係るパチンコ機100は、第1クロック信号(例えば、乱数用クロックRCKの信号)を生成する第1クロック生成回路(例えば、乱数用水晶発振器314a)と、第2クロック信号(例えば、システムクロックSCLKの信号)を生成する第2クロック生成回路(例えば、システム用水晶発振器314b)と、前記第1クロック信号を受信したことに基づいて乱数値を更新する乱数更新回路(例えば、乱数回路316)、および、前記第2クロック信号を受信したことに基づいてシステムクロック信号を生成するシステムクロック生成回路(例えば、クロック回路340)を有し、前記システムクロック信号に基づいて制御を行い、前記乱数更新回路が更新した前記乱数値を取得するとともに、該取得した乱数値と予め設定された特定乱数値とが一致した場合に遊技者に有利な特別遊技状態(例えば、大当たり遊技)を発生させる遊技制御手段(例えば、基本回路302)と、を備えた遊技台であって、前記遊技制御手段から前記第1クロック生成回路までの第1信号線Lrが、前記遊技制御手段から前記第2クロック生成回路までの第2信号線Lsよりも長くなるように配線したことを特徴とする、遊技台である。
本実施例1に係るパチンコ機100によれば、第2信号線より第1信号線が長いので、遊技制御手段近傍に第1クロック生成回路を配置する必要がなく、遊技制御手段近傍の基板上領域の部品配置に関する自由度を高めることができる場合がある。また、遊技制御手段近傍に第2クロック生成回路を配置して第2信号線を限りなく短くすることができるため、第2信号線への外乱の影響を極力排除することができ、第2クロック生成回路からの第2クロック信号を安定して遊技制御手段に出力することができる場合がある。また、第2信号線よりも第1信号線のほうが長いので外乱の影響などを受け易いが、仮に外乱の影響などで第1クロック信号の波形が崩れてパルスを遊技制御手段が受信することができなかったとしても、乱数更新のランダム性を高めることができる場合がある。
また、前記第1クロック信号の異常を監視するクロック信号監視手段(例えば、周波数監視回路316a)と、前記クロック信号監視手段が前記第1クロック信号の異常を検知した場合に、前記第1クロック信号が異常であることを報知する報知指令情報(例えば、制御コマンド)を出力する報知指令出力手段(例えば、CPU304)と、をさらに備えてもよい。このような構成とすれば、第2信号線より第1信号線が長いので、外乱の影響などによる異常が第2クロック信号よりも第1クロック信号のほうが起こりやすい。従って、第2クロック信号に異常が発生するよりも前に第1クロック信号の異常を判定することができる。すなわち、第2クロック信号が第1クロック信号よりも正常な状態で、第1クロック信号が異常であることを報知する処理を行うことができる場合がある。また、第1クロック信号に異常があることを外部から容易に知ることができる場合がある。
また、前記クロック信号監視手段によって監視される前記第1クロック信号の異常の有無を示すクロック信号状態を記憶するクロック信号状態記憶手段(例えば、内部情報レジスタ)をさらに備え、前記報知指令出力手段は、前記クロック信号状態記憶手段に記憶された前記クロック信号状態が異常有りを示している場合(例えば、内部情報レジスタのクロック信号状態ビットが1にセットされている場合)に、前記報知指令情報を出力するように構成してもよい。このように構成すれば、クロック信号の異常の有無を記憶しておくことが可能となるため、任意のタイミングでクロック信号の異常の有無を検知することができ、異常の有無の判定を適切なタイミングで実行できる場合がある。
また、前記クロック信号監視手段には、前記第1クロック信号および前記2クロック信号が入力され、前記クロック信号監視手段は、前記第1クロック信号の周波数と前記第2クロックの周波数を比較することによって前記第1クロック信号の異常の有無を判定するように構成してもよい。このような構成とすれば、クロックの異常の有無の判定を簡易に行うことができる場合がある。また、第2クロック生成回路の異常を判定することができる場合がある。
また、前記報知指令出力手段から前記報知指令情報を受信した場合に、前記第1クロック信号が異常であることを外部に報知する報知手段(例えば、各種ランプ、スピーカ、可動体)をさらに備えてもよい。このような構成とすれば、クロックの異常をより確実に知らせることができる場合がある。
また、少なくとも前記システムクロック生成回路、前記乱数更新回路、および前記遊技制御手段を1つのパッケージに収納してもよい。このような構成とすれば、第1信号線や第2信号線に細工を施すような不正行為を未然に防止することができる場合がある。
なお、本発明に係る遊技台の構成は、上記実施例に係る遊技台の構成に限定されるものではない。
図17は、基本回路302に接続される乱数用水晶発振器314a、システム用水晶発振器314b、起動信号出力回路338の配線パターンの一例を示した回路ブロック図である。
この例では、所定条件が成立したこと(例えば、リセットスイッチの押下操作や、電源の投入など)に基づいて前記遊技制御手段(この例では、基本回路302)にリセット信号を出力するリセット信号出力手段(この例では、起動信号出力回路338)をさらに備え、前記遊技制御手段から前記リセット信号出力手段までの第3信号線Lreよりも前記第1信号線Lrが短くなるように配線している(Lre>Lr>Ls)。このような構成とすれば、第3信号線より第1信号線が短いので、リセット信号出力手段よりも第1クロック信号出力手段を遊技制御手段に近づけて配置することができ、遊技制御手段の周辺に重要度の高い部品(例えば、出力信号の変化が大きい部品や、出力信号が遊技台の制御に与える影響が大きい部品)から順に配置することができる場合がある。
図18(a)は、基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの第2の例を示した回路ブロック図である。
この例では、前記第1クロック生成回路(この例では、乱数用水晶発振器314a)と前記第2クロック生成回路(この例では、システム用水晶発振器314b)を前記遊技制御手段(この例では、基本回路302)の近傍に配置している。このような構成とすれば、主要部品が遊技制御手段の近傍に固まって配置されるため不正に改造されていないことを一目で検査することができる場合がある。
図18(b)は、基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの第3の例を示した回路ブロック図である。
この例では、前記遊技制御手段(この例では、基本回路302)の上面の少なくとも一部と基板とを貼り付けする封印シール390をさらに備え、前記第1クロック生成回路(この例では、乱数用水晶発振器314a)と前記第2クロック生成回路(この例では、システム用水晶発振器314b)を前記封印シール390の近傍に配置している。このような構成とすれば、主要部品が封印シールの近傍に固まって配置されるため不正に改造されていないことを一目で検査することができる場合がある。
図19は、基本回路302と、この基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの第4の例を示した回路ブロック図であり、同図(b)は基板におけるビアホール周辺の断面図である。
この例では、前記第1信号線Lr上に、ビアホール(スルーホール)392を形成している。なお、同図(b)の符号392aはソルダレジスト、符号392bは基板、符号392cは基板の表と裏を連通する導通部を示している。このような構成とすれば、第1信号線は、ビアホールによって基板の表から裏を通る過程で一部が屈曲されるため、第1信号線を通る第1クロック信号が減衰しやすくなる。従って、乱数更新のランダム性をより高めることができる場合がある。すなわち、乱数用クロックを生成する第1クロック生成回路と、外部クロックを生成する第2クロック生成回路と、前記乱数用クロックを入力したことに基づいて乱数値を更新する乱数更新回路、および、前記外部クロックを入力したことに基づいてシステムクロックを生成するシステムクロック生成回路を有し、前記システムクロックに基づいて制御を行い、前記乱数更新回路が更新した前記乱数値を取得するとともに、該取得した乱数値に基づいて、遊技者に有利な特別遊技状態を開始する遊技制御手段と、を備えた遊技台であって、前記遊技制御手段は、前記システムクロック生成回路および前記乱数更新回路を収納したワンチップマイコンであり、前記第1クロック生成回路および前記第2クロック生成回路の両方は、前記ワンチップマイコンには収納されておらず、前記システムクロックに基づいて得られるクロックの周波数よりも、前記乱数用クロックの周波数が小さくなった場合に、該乱数用クロックが異常になったと判定するクロック信号監視手段を前記遊技制御手段に含み、前記外部クロックよりも前記乱数用クロックの方が外乱の影響を受けやすいように、前記第2クロック生成回路が生成した前記外部クロックを前記遊技制御手段に出力するための第2信号線の長さよりも、前記第1クロック生成回路が生成した前記乱数用クロックを前記遊技制御手段に出力するための第1信号線の長さの方を長くし、前記第1クロック生成回路、前記第2クロック生成回路、前記第1信号線、前記第2信号線、および前記ワンチップマイコンを設けた基板を備え、前記基板の表と裏を連通させるために前記第1信号線に形成したスルーホールによって、該第1信号線の一部を屈曲させたことを特徴とする遊技台としてもよい。
図20は、基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの第5の例を示した回路ブロック図である。
この例では、前記第1信号線Lr近傍に特定部品(この例では、IC)を配置している。このような構成とすれば、第1信号線近傍に特定部品が配置されているので、第1信号線は特定部品に基づく外乱(特定部品が発する各種のノイズ)に影響されやすくなる。そのため、第1信号線を通る第1クロック信号に基づいて乱数値を更新する乱数更新回路の更新タイミングにバラツキを与え、乱数更新回路が生成する乱数値のランダム性をさらに高めることができる場合がある。
図21は、基本回路302と、この基本回路302に接続される乱数用水晶発振器314aとシステム用水晶発振器314bの配線パターンの第6の例を示した回路ブロック図である。
この例では、前記第1信号線Lr近傍に他の信号線Ltを配置している。このような構成とすれば、第1信号線近傍に他の信号線が配置されているので、第1信号線は他の信号線に基づく外乱(他の信号線から発せられる各種のノイズ)に影響されやすくなる。そのため、第1信号線を通る第1クロック信号に基づいて乱数値を更新する乱数更新回路の更新タイミングにバラツキを与え、乱数更新回路が生成する乱数値のランダム性をさらに高めることができる場合がある。
図22は、基本回路302に接続される水晶発振器398の配線パターンの一例を示した回路ブロック図である。
この例では、前記遊技制御手段(この例では、基本回路302)から前記クロック生成回路(この例では、水晶発振器398)までの信号線Lrが20mm以上となるように配線している。このように構成すれば、信号線が20mm以上なので、遊技制御手段近傍の基板上領域の部品配置に関する自由度を高めることができる場合がある。すなわち、ICなどの電子部品の最大長さLoは20mm未満であることが一般的であるため、クロック生成回路を遊技制御手段から20mm以上離れた位置に配置することで、遊技制御手段近傍(遊技制御手段とクロック生成回路の間)にICなどの電子部品を配置できる場合がある。また、信号線Lrが20mm以上なので外乱の影響などを受け易いが、仮に外乱の影響などでクロック信号の波形が崩れてパルスを遊技制御手段が受信することができなかったとしても、乱数更新のランダム性を高めることができる場合がある。
なお、本発明に係る「報知手段」は、上記実施例のスピーカ416、各種ランプ420、および演出用可動体などに限定されず、例えば、各種制御部(例えば、主制御部300、副制御部400、副制御部500、払出制御部550)によって制御されるランプ、スピーカ、可動物、可変表示器なども含まれる。また、これらの報知手段の一つ、複数、またはすべてを用いて報知を行ってもよい。さらに、これらの報知手段による報知に限定されるものでもなく、例えば、報知指令出力手段が、遊技台に設けた外部情報端子板に対して報知指令情報を出力するように構成してもよい。この場合、外部情報端子板を介して遊技台外部の各種装置(例えば、遊技情報表示装置やホールコンピュータなど)に報知指令情報を出力し、遊技台外部の各種装置によって報知を行うように構成することもできる。
また、報知手段による報知のタイミングは、上記実施例で示したタイミングに限定されず、例えば、クロック信号の異常の報知を、それ以外の報知(例えば、各種エラーに関する報知、不正行為に関する報知など)よりも優先して行ってもよい。また、クロック信号の異常の報知を、他の報知と同時、または、他の報知よりも遅く行ってもよく、他の報知と交互に複数回行ってもよい。
また、クロック信号の異常の有無の判定を行うタイミングは、上記実施例で示したタイミングに限定されず、例えば、CPUが乱数回路のカウント値(乱数値)を取得(ラッチ)した時、電源投入後の初期設定時(具体的にはRAMクリア判定時、低電圧信号がオフ後など)、割込み処理内の任意のタイミング(具体的には、割込み開始時、各種抽選処理実行時、乱数ラッチ処理の前または後、割込み終了時)、メインループ内の任意のタイミング(具体的には、メインループ開始時、メインループ終了時、割り込み禁止時など)、各種エラーの判定時、後述するスロットマシンではスタートレバーの受付可能時などでもよい。また、上記のタイミングを組み合わせて複数個所の処理で異常を検知してもよい。
また、報知手段による報知の態様も、上記実施例で示した態様に限定されるものではなく、例えば、クロック信号の異常を直接的に報知する場合のほか、何らかの不正があったことを報知したり、別の異常と見せかけて報知してもよい。
また、乱数回路から取得したカウント値の使用目的も、上記実施例で示した使用目的に限定されず、例えば、特図抽選、普図抽選、大当たり種別(確率変動か否かなど)抽選、演出抽選などの所定の抽選用の乱数として使用してもよい。
また、クロック信号の異常を検知した場合の態様も、上記実施例で示した態様に限定されるものではなく、例えば、発射装置を停止させる、または停止させない、払出装置を停止させる(払出モータを停止させる)、または停止させない、特図または普図の変動を停止させる、または停止させない、特図または普図を表示する、または表示させない、保留している特図変動遊技または普図変動遊技の当選をすべてハズレに書き換える、特図変動遊技または普図変動遊技の当選をハズレに書き換えた後に特図変動遊技または普図変動遊技を中止する、変動中の図柄は変動を継続して変動が停止したら遊技を中止する、可変入賞口130を閉鎖する、後述するスロットマシンであればセレクタを停止する、または停止しない、ホッパーを停止する、または停止しない、球の入賞口入賞の検知を行う、または行わないなどの態様の組み合わせも含まれる。
また、乱数用クロックの異常を検出した時点で、特図が変動中である場合には、該変動が終了した後で、乱数用クロックの異常による処理を追加してもよい。少なくとも、変動中の特図は乱数用クロックの異常を検出する前に開始した特図変動(換言すれば、乱数用クロックの異常と判定する前に取得した乱数値に基づいて変動する特図変動)であるため、乱数用クロックが正常である際に取得した乱数である可能性が高い。したがって、該特図の変動の終了前と終了後とで乱数用クロックの異常に対応する処理を同一にすることは遊技者にとって公平とは言えない。したがって、該特図の変動の終了後に行う乱数用クロックの異常に対する処理は、該特図の変動終了前に行う乱数用クロックの異常に対する処理と異ならせてもよく、たとえば、該特図の変動の終了後に行う乱数用クロックの異常に対する処理は、該特図の変動終了前に行う乱数用クロックの異常に対する処理よりも遊技者にとって不利益度が高い処理(たとえば、乱数用クロックの異常判定後の変動をハズレフラグに書き換える処理の追加、払出を停止する処理の追加)であってもよい。なお、ここでいう「乱数用クロックの異常を検出する前に開始した特図変動」に加えて「乱数用クロックの異常を検出する前に保留された特図変動」を追加してもよい。保留された特別図柄も同様に、乱数用クロックの異常と判定する前に取得した乱数値に基づいて変動を行うためである。
また、本実施例では、第1の始動口および第2の始動口に対応する特別図柄は1つであったが、第1の始動口および第2の始動口に対応して、第1の特別図柄および第2の特別図柄を備えてもよい。この場合、第1の特別図柄は第2の特別図柄よりも優先して変動を行ってもよい。優先して変動を行うとは、第2の特別図柄の変動開始の条件として、第1の特別図柄が非変動中(確定表示中は含まない)かつ第1の特別図柄に保留球数がないなどである。この場合に、第1の特別図柄に保留が3個あり、第2の特別図柄に保留が1個ある状態で乱数用クロック監視回路に異常が発生した場合に、続けて第1の始動口に遊技球が入球すると第1の特別図柄の保留が4つになる。この場合、変動の優先順序が定められているため、第2の特別図柄の変動を行うことなく第1の特別図柄の4つ目が異常判定後の保留に基づく変動がなされてしまうといった問題がある。ここで、複数の特別図柄があり、変動の優先順序が定められている場合には、優先順序が劣後する特別図柄の保留が乱数用クロックの異常判定前に得られた場合には、それに関しては変動していなくても前述した「乱数用クロックの異常を検出した後に行う処理」を行ってもよいことにする。このようにしなければ、いつまでも「乱数用クロックの異常を検出する前に行う処理」が行われてしまう可能性がある。
また、クロック信号の異常を検知した後の態様も、上記実施例で示した態様に限定されず、例えば、RAMクリアを実行しない限り、クロック信号の異常からの復帰を不可能にしてもよく、異常検出後の電断時に乱数用クロック異常情報を記憶し、電断復帰時に乱数用クロック異常情報が記憶されている場合にはRAMクリアを行うように構成してもよい。
なお、ラッチして取得したカウント値を所定の方法により加工した後の値を乱数として使用してもよい。たとえば、所定の割込み周期で更新されるソフトカウンタにより取得した値を加算するなどして加工してもよい。この場合でも、ソフトカウンタの更新周期が乱数生成回路のカウント更新周期よりも遅い場合は、乱数を狙われやすくなるといった問題があるため停止させることが望ましい。
また、乱数をラッチして乱数値レジスタに乱数を記憶したことに基づいて、割込み信号をCPUに出力してもよい。この割込みにより行われる処理の中で、乱数用クロック周波数異常判定処理を行ってもよい。
また、乱数回路chAはシステムクロック、乱数回路chBは乱数用クロックで更新を行い、乱数回路chAは少なくとも特別図柄抽選用乱数カウンタ、乱数回路chBは少なくとも普通図柄抽選用乱数カウンタとして使用してもよい。また、普通図柄抽選用乱数カウンタから取得した値は所定の方法により加工した値を使用してもよい。
また、乱数値のラッチは乱数ラッチ入力信号ではなく、プログラムから取得する方法で取得してもよい。この場合、プログラムから取得する前に乱数用クロックの異常があるか否かを判定し、異常がある場合はラッチを行わなくてもよい。
また、始動口を複数(たとえば2つ)備え、それぞれに対応して特別図柄を複数(たとえば2つ)備えてもよい。この場合に、第1の特別図柄が変動中または変動開始条件が成立している場合(第1の特別図柄の保留球がある場合など)は、第2の特別図柄の変動を行わないことで、第1の特別図柄の変動を優先して行ってもよい。また、第1の特別図柄に対応する第1の始動口は、第2の特別図柄に対応する第2の始動口よりも入球しやすい状態になってもよい。なお、「特別図柄」は「普通図柄」に置き換えて適用することもできる。
また、乱数回路の1周目のスタート値は所定の値(たとえば0001hなど)に固定し、抽選データでの前記所定の値は遊技者にとって最も不利益なもの(大当たり抽選であればハズレなど)であってもよい。このようにすることで、乱数用クロック監視用周波数の異常のうち、特に断線等により乱数カウンタの更新が全く行われなくなってしまった場合でも、システムリセットを行えば遊技店側が不利益を被る可能性が少なくなるといった効果がある。
また、乱数用クロック周波数の異常があった場合に異常に関する報知を行い、かつ、乱数回路の1周目のスタート値が遊技者にとって最も不利益なものである場合には、該異常に関する報知を行うための記憶部に記憶された異常情報は、初期設定時にシステムリセットが行われたか否かを監視するフラグを見て、システムリセットである場合には、その後乱数用クロック異常監視回路が異常と判定しても、報知を行わないようにしてもよい。この場合、遊技者が不利益を被る可能性が少ないからである。
また、後述するスロットマシンの場合に、遊技者にとって利益を与える入賞フラグが成立している場合に乱数用クロック周波数の異常を検知した場合は、有利度の高い当選フラグ(BBフラグなど)を有利度の低い当選フラグ(ハズレフラグなど)に書き換えてもよい。また有利度の高い遊技状態(BB遊技状態など)を有利度の低い遊技状態(通常時遊技状態など)に書き換えてもよい。
また、後述するスロットマシンの場合に、リールが変動中に乱数用クロック周波数の異常を検知した場合は、ただちにリールの変動を停止してもよい。ここでの停止制御は、入賞役に対応する図柄組み合わせが表示されないように行う。具体的には、所定のタイマ開始時期(リールの変動開始の時、またはリールが変動開始してから定速になった時など)からカウントを開始し、所定の時間経過した場合に自動的に変動中のリールを停止させる自動停止の際に使用する停止制御の少なくとも一部(たとえばリールを所定の位置で停止させるためのリール停止テーブルなど)を流用してもよい。また、流用しなくても、よい。また、当選した入賞役に対応する図柄組み合わせが表示されないように停止すればよい。
また、後述するスロットマシンの場合に、リールが変動中に乱数用クロック周波数の異常を検知した場合は、全てのリールが停止してから異常であることを報知してもよい。
また、可変表示装置(液晶表示器など)を遮蔽部材(シャッタなど)が遮蔽している際に乱数クロック周波数の異常を検知した場合は、少なくとも可変表示装置における異常報知が視認可能な位置まで非遮蔽状態になるようにしてもよい。このとき、非遮蔽状態になってから報知を行ってもよいし、遮蔽状態から非遮蔽状態に移動する途中で報知を行ってもよいし、遮蔽状態のときから報知を行ってもよい。
また、所定の期間遊技が行われなかった場合に行われるいわゆるデモ演出の際に乱数用クロック周波数の異常を検知した場合は異常に関する報知を外部装置(たとえばホールコンピュータ、遊技情報表示装置など)に外部出力する一方で遊技機内では報知を行わず、少なくともデモ演出以外に乱数用クロック周波数の異常を検知した場合は異常に関する報知を遊技機内の所定の報知装置(たとえば可変表示器など)で報知を行ってもよい。デモ画面中は不正遊技者による不正行為により異常が発生した可能性が低いため、遊技店関係者のみが確認できるようにすればよい。同様の理由で、ドア開放中でない場合に乱数用クロック周波数の異常を検知した場合は前記外部装置に出力する一方で遊技機内では報知を行わず、少なくともドア開放中以外に乱数用クロック周波数の異常を検知した場合は異常に関する報知遊技機内の所定の報知装置(たとえば可変表示器など)で報知を行ってもよい。また、電源投入に基づいて行われる初期設定処理の際に乱数用クロック周波数の異常を検知した場合は必ず遊技機内での報知および外部出力を行うことによる報知の両方を行ってもよい。乱数用クロック周波数の異常が起こる場合は、ほとんどの場合不正行為者が遊技用基板にアクセスし乱数用クロックを破壊、または乱数用クロックとCPUを接続するバスの切断により行われ、そのような行為は遊技機の電源投入時に行われることが極めて少ないため、電源投入時の乱数用クロックの異常は不正行為である可能性が極めて高いためである。
また、後述するスロットマシンの場合は、遊技状態更新処理で乱数用クロックの異常を判定してもよい。
また、乱数用クロック周波数の異常を検知する制御部(主制御部など)から乱数用クロック周波数の異常に関するコマンドを入力する制御部(払出制御部および副制御部など)は、電源断時に乱数用クロック周波数の異常を記憶している場合はその情報をバックアップ可能に記憶し、電源投入時、乱数用クロック周波数の異常を記憶していた場合は、初期動作として乱数用クロック周波数の異常を報知してもよい。換言すれば、電断時に乱数用クロック周波数の異常を検知していた場合は、電源投入時に乱数用クロック周波数の異常を検知する制御部からのコマンドを待たずに乱数用クロック周波数の異常を報知してもよい。これにより、たとえば乱数用クロック周波数の異常を検知した後で、各制御部を接続するハーネスを断線させられた場合でも各々が独立して報知を行うことができる。また、電源投入時から主制御部からコマンドを受信するまでの間にも報知を行うことができる。なお、乱数用クロック周波数の異常を検知する制御部(主制御部)は、RAM領域の少なくとも一部(またはユーザに開放されたRAM領域の全部)をクリアしない限り、乱数用クロック周波数の異常の報知を止めないようにしてもよい。また、乱数用クロック周波数の異常に関するコマンドを入力する制御部(払出制御部および副制御部など)は、RAMクリアとは別に、主制御部から乱数用クロック周波数が正常であることを示すコマンドが送信された場合に乱数用クロック周波数の異常の報知を終了してもよい。これにより、乱数用クロック周波数の異常を直して主制御部をRAMクリアするだけで異常からの復帰を可能とする。
また、電源投入時、乱数用クロック周波数の異常を記憶している場合は、乱数用クロック周波数の異常を記憶していない場合に行う初期設定の一部を行わないようにしてもよい。たとえば、可動物の可動による乱数用クロック周波数の異常を報知しない場合は、可動物の可動に関する初期設定動作を行わなくてもよい。これにより、乱数用クロック周波数の異常報知をより迅速に行うことができる。
また、乱数用クロックの基板上の配設位置は、システムクロックの基板上の配設位置よりも、ワンチップマイコンから遠い位置に配設してもよい。一般的に、配線長が遠ければ遠いほど、ノイズや減衰等の理由で波形は乱れやすくなる。しかし、乱数用クロックに関しては、ノイズや減衰等の理由で波形が乱れた場合でもより無作為な値を抽選できる場合があるため、物理的要因がカウント値の値に影響を与えることで逆に不正対策に対する効果が出る場合がある。一方、システムクロックは、CPUや他の部品が誤動作を起こさないように、極力正確かつ規則的な波形が求められるため、ワンチップマイコンにより近い位置に配設することが望ましい。したがって、システムクロックを乱数用クロックよりも優先した配置で(より近傍に)配設することが望ましい。ここで、乱数用クロックが遠い位置に配設したことで不正が行われやすくなってしまったり、ワンチップマイコンに入力される周波数が異常値になってしまったりする場合があるが、システムクロックにより乱数用クロックを監視しているため、異常を迅速に検知することができ、かつ、報知を行うことで遊技店側は迅速な対応を行うことができる。さらに、たとえば、SCLKはRCKのクロック周波数の2倍以上の周波数でなければならないなど、周波数監視回路316aに乱数用クロックRCKによるSCLKの監視機能を持たせた場合に、SCLKを監視することができる。
また、乱数用クロック周波数の異常を電源投入に基づいて行われる初期設定処理で検知した場合と、初期設定処理以外の所定の処理(たとえば、タイマ割込み処理など)に検知した場合とで、報知態様を異ならせてもよい。具体的には、初期設定処理以外の所定の処理で検知した場合は、乱数用クロック周波数が異常である旨の報知を行い、初期設定処理で検知した場合はRAMクリアを促す旨を報知してもよい。
また、乱数用クロック周波数の異常を検知した場合に異常を検知したという情報を所定の記憶領域(RAMなど)に記憶し、かつ、第1の報知を行い、電源断があった後も前記情報をバックアップして記憶してもよい。このようにした場合に、電源投入に基づいて行われる初期設定処理で異常を検知したという情報があるか否かを判定し、異常があると判定された場合は、第2の報知を行ってもよい。ここで、第1の報知は乱数用クロック周波数が異常である旨の報知で、第2の報知はRAMクリアを促す旨の報知であってもよい。また、第1の報知は少なくとも外部装置に前記乱数用クロック周波数が異常であることを通知する処理を含み、第2の放置は少なくとも外部装置に前記乱数用クロック周波数が異常であることを通知する処理を含まなくてもよい。このようにすることで、たとえばホールコンピュータが何回も同じ情報を取得することを回避できる。
また、乱数用クロック周波数の異常を検知した場合に異常を検知したという情報を所定の記憶領域(RAMなど)に記憶し、電源断があった後も前記情報をバックアップして記憶し、電源投入に基づいて行われる初期設定処理内のRAMクリアを実行するか否かの判断の際に、乱数用クロック周波数がまだ異常であるか否かを内部情報レジスタを参照するなどして判定し、異常が継続している場合はRAMクリアを実行しないようにしてもよい。このようにすることで、乱数用クロック周波数の異常を継続して報知することができたり、乱数用クロック周波数の異常の報知がいったん終了し、再び乱数用クロック周波数の異常を検知して報知するまでの間、乱数用クロック周波数の異常が報知されないといったことを回避することができる。
また、電源投入時は乱数クロックおよびシステムクロックの動作が不安定になる可能性があるため、異常監視回路が異常でないにも関わらず異常であると誤判断してしまう可能性が他の場合よりも高い。このため、初期設定時に内部情報レジスタのクロック信号状態ビットをクリアし、乱数クロック監視回路が再度乱数クロックの異常を判断して内部情報レジスタにビットを書き込むか否かを判定するまでの期間を経過後に内部情報レジスタのクロック信号状態ビットに基づいて乱数クロックの異常判定を行ってもよい。この場合、乱数クロックに異常が発生しているのであれば再度内部情報レジスタに異常であることを示す情報が設定される。なお、期間の経過は、他の処理を行うことで経過のための時間を稼いでもよいし、所定のウエイトタイマによるウエイトにより期間の経過を待ってもよい。また、期間の経過を待つことなく内部情報レジスタにビットが書き込まれるのであれば、期間を待たなくてもよい。なお、内部情報レジスタのクロック信号状態ビットをクリアするタイミングは、少なくとも、低電圧信号がオフになった後であることが望ましい。また、電断時も同様の問題が発生するため、電断時は内部情報レジスタのクロック信号状態ビットに基づいてクロック周波数が異常であることを示す情報を記憶しないようにすることが望ましい。換言すると、「電源投入時にクロック状態記憶部の記憶をクリアする処理を備え」てもよく、さらに「クリアする処理の後、所定の期間はクロック信号状態が異常ありか否かを判定せず」、また、「少なくとも低電圧信号がオフになった後でクリアする処理を行う」ことが望ましい。また、「電断時は、クロック状態記憶部に異常状態を記憶させない」ことが望ましい。なお、内部情報レジスタのクロック信号状態ビットのクリア方法としては、内部情報レジスタのクロック信号状態ビットに正常であることを示す値を書き込むほか、内部情報レジスタのクロック信号状態ビットを読み込むと該ビットがクリアされることを利用してもよい。すなわち、電源投入時にクロック状態記憶部の記憶を読み取り、読み取った情報に基づいて乱数用クロックの異常を判定しないようにしてもよい。換言すればクリアする目的のみで読み取るということである。
また、本実施例では、P0端子は特図1始動口に入球があった場合に出力される特図1始動口入球検出信号、P1端子は特図2始動口に入球があった場合に出力される特図2始動口入球検出信号したが、ラッチした特図1および特図2はそれぞれ異なるチャネルから乱数を取得してもよい。たとえば、特図1の乱数はチャネルAから、特図2の乱数はチャネルBから取得してもよい。
また、P0端子のチャネルAからは特図1抽選用の乱数を取得し、P0端子のチャネルBからは特図変動に関する抽選値や大当たり種別の乱数など、特図1入賞口の入球に基づいて抽選される乱数値を取得してもよい。この場合、チャネルAおよびチャネルBは乱数値の配列や周期を異ならせるなどして、常に同一の組み合わせの乱数が取得されるといったことがないようにすることが望ましい。なお、後述するスロットマシンの場合は、スタートレバー検出信号が入力されるP0端子のチャネルAから入賞役抽選用乱数、P0端子のチャネルBから演出抽選用乱数を取得してもよいが、チャネルおよび端子の接続の組み合わせはこれに限られない。また、パチンコ機の場合は大当たり種別乱数、各種タイマ乱数も乱数回路316から取得してもよい。また、所定の乱数の更新周期のスタート値を抽選するため乱数を乱数回路316から取得してもよい。スタート値とは、所定の乱数が所定の更新範囲(たとえば1〜100)を更新するとした場合、どの数値から更新を開始するかを決定するための値である。また、上記実施例では、特定の入賞口に入賞があったことを所定のパターン(OFF→ON→ON)の検知状態があったか否かで判定していたが、本発明はこれに限られない。たとえば、エッジ検出(ON→OFF、OFF→ON)で判定してもよい。エッジ検出で判定を行う場合は、乱数ラッチレジスタの値を読み、乱数のラッチがあったことを確認してから乱数を取得するようにするとよい。
また、乱数用クロック周波数の異常監視回路はワンチップ内に配置してもよい。このようにすることで、異常監視回路とCPUを接続する信号線が切断されるといったことで異常監視機能を不能にされるといった不正を防止することができる。
また、乱数用クロック周波数の異常は、乱数用クロックと乱数回路との接続線が断線したことにより乱数回路に乱数用クロックが入力されなくなった(周波数0になった)ことによる異常のほか、乱数用クロック自体が破壊されたまたは乱数用クロックが取り外されたなどにより乱数用回路に乱数用クロックが入力されなくなったことも含むものとする。また、乱数用クロックが周波数の低い乱数用クロックに交換されたことにより乱数回路に乱数用クロックが入力されるが、その周波数が所定の値よりも低くなってしまい乱数を狙いやすくなったことも異常とする。なお、不正行為により、乱数用クロックが入力されるべき箇所にシステムクロックが入力するようにした場合を異常としてもよい。なお、本実施例ではソフトウェアに基づく乱数値の取り込み(ラッチ)を行わないため、乱数ラッチ選択レジスタと乱数値取り込みレジスタは参照しない。しかし、ソフトウェアに基づくラッチを行ってもよい。この場合、ラッチ回路から乱数を取得する前に、乱数用クロックの周波数の異常判定および乱数値取り込みレジスタの値の判定を行ってもよい。具体的には、乱数値取り込みレジスタが取り込み済みを示し、かつ、クロック周波数が正常である場合のみラッチ回路から乱数を取得してもよい。また、乱数値取り込みレジスタが取り込みしていないことを示し、かつ、クロック周波数が正常である場合と、乱数値取り込みレジスタが取り込み済みを示し、かつ、クロック周波数が異常である場合と、乱数値取り込みレジスタが取り込みしていないことを示し、かつ、クロック周波数が異常である場合とで、報知態様を一部異ならせてもよい。
また、乱数割込みを使用しないため乱数割込み制御レジスタは参照しない。しかし、乱数割込みを使用してもよい。この場合、乱数割込み処理を契機にクロック周波数の異常を判定してもよい。また、後述するスロットマシンにおいては、スタートレバー受付時のみ(後述する遊技メダル投入処理S110)の、乱数割込みを割り込み許可設定を許可に設定してもよい。また、乱数列を変更しないため乱数列変更レジスタを参照しないが、乱数列を変更してもよい。
また、起動信号出力回路338と基本回路(ワンチップマイコン)302とを結ぶ配線パターンの長さは、水晶発振器314aと基本回路(ワンチップマイコン)302とを結ぶ配線パターンの長さよりも長くしてもよい。電源監視回路336と基本回路(ワンチップマイコン)302とを結ぶ配線パターンの長さは、水晶発振器314aと基本回路(ワンチップマイコン)302とを結ぶ配線パターンの長さよりも長くしてもよい。
また、前記クロック信号状態記憶部に記憶された前記クロック信号状態が異常有りを示しているか否かの判定処理を、遊技店員、出荷時検査者または設置時検査者により特定の操作が行なわれた場合にのみおこなうように構成してもよい。この場合には、再度上述の特定の操作または別の特定の操作がされるまで、所定の遊技制御動作を行なわない所定動作禁則状態、上述の前記クロック信号が異常であることを示す報知を継続する報知継続状態のうちの一方または両方の状態にするようにしてもよい。ここで特定の操作とは電源投入操作、電源断操作、遊技機に設けた特定の操作部(例えばRAMクリアを指令するRAMクリアスイッチ、エラー解除スイッチなど)の操作、遊技機とは別体の外部装置からの特定の照合信号入力操作などのうちの1つまたは複数を適用しても良い。このように構成することで、ハードウェア異常の発生を遊技者に知られる前に確実に検査することができる場合がある。
また、前記クロック信号状態記憶部に記憶された前記クロック信号状態が異常有りを示しているか否かの判定処理を、所定の遊技動作の実行時または実行後におこなうように構成してもよい。この所定の遊技動作の実行時または実行後の判定処理で異常ありと判定した場合には、所定の条件が成立するまで、同じ遊技動作の実行時または実行後の判定処理を行なわないようにしてもよい。ここで所定の条件は上述の特定の操作が行なわれた場合を適用するのが好適であるが、他の条件を適用しても良い。このように構成することで、不正遊技が行なわれた可能性があることを迅速に遊技店店員に知らせることができる場合がある。
また、前記クロック信号状態記憶部に記憶された前記クロック信号状態が異常有りを示しているか否かの判定処理は、前記クロック信号状態記憶部をクリアした後で該クロック信号状態記憶部に前記クロック信号状態が異常有りを示す情報が記憶されているかを読み出して判定するようにしてもよい。このクリアおよび読み出しは連続的におこなっても良いし、クリアおよび読み出しを所定回数連続的におこなって、その所定回数の読み出しの結果が全て異常有りを示す情報の場合に前記クロック信号状態が異常有りと判定しても良いし、その所定回数の読み出しの結果のうち1または特定の回数以上で異常有りを示す情報の場合に前記クロック信号状態が異常有りと判定しても良い。このクリアおよび読み出しに関するクリアしてから読み出すまでのクリア後期間、と読み出してからクリアするまでの読み出し後期間はCPUが連続的に処理した場合に必要な期間であったり、所定長さのウェイト時間を挿入するようにしてもよい。このクリア後期間と読み出し後期間の期間長さは異ならせてもよく、クリア後期間の期間長さより読み出し後期間の期間長さを長くして確実に次のクリアをおこなうとともに迅速に読み出しをおこなうように構成しても良い。クリア後期間の期間長さより読み出し後期間の期間長さを短くして確実に読み出しをおこなうとともに迅速にクリアをおこなうように構成しても良い。クリア後期間の期間長さと読み出し後期間の期間長さのどちらを長くするかは判定処理の前後の特定の遊技動作制御が何であるか、特定の操作が行なわれた場合の判定処理なのかどうか、異常があった場合の報知態様などとの関係でより効果の大きい構成を適用するのが好適である。
また、所定の遊技制御動作はS101〜S109、S201〜S220の処理のうちの1または複数を適用しても良い。
また、上述の特定の操作が行なわれた場合の判定処理に基づく上述の前記乱数用クロック信号が異常であることを示す報知と所定の遊技動作の実行時にまたは実行後に行なわれた場合の判定処理に基づく上述の前記乱数用クロック信号が異常であることを示す報知とは報知態様を異ならせてもよい。また、起動信号出力回路338は基本回路302内に設けられていてもよい。
また、乱数用クロックの異常を検知する制御部(主制御部)以外の制御部(副制御部、払出制御部など)は、乱数用クロックの異常を検知したことを示すコマンドを受信した後は、乱数クロックの異常の報知以外を行わないようにしてもよい。具体的には、乱数用クロックの異常を検知したことを示すコマンド以後に受信したコマンドを破棄または無視するように構成してもよい。
また、電源投入に基づいて行われる初期設定処理で乱数用クロックの異常を検知した場合は、乱数用クロックの異常を検知する制御部(主制御部)は、乱数用クロックの異常を検知する制御部以外の制御部(副制御部、払出制御部など)に対して乱数用クロックの異常を検知したことを示すコマンドを出力した後、遊技に関する処理(遊技球の入賞口入賞判定など)を行わないようにしてもよい。なお、主制御部による乱数用クロックの異常の報知は行わず、主制御部以外の制御部で乱数用クロックの異常の報知を行ってもよい。この場合、乱数用クロックの異常の報知を行う主制御部以外の制御部は乱数用クロックの異常を検知したことを示すコマンドの受信後以降のコマンドを破棄または無視してもよい。なお、主制御部は電源断を検知したことに基づく電源処理は行ってもよい。これにより、乱数用クロックの異常を確実に報知可能にし、かつ、遊技の続行を不能にならしめることができる。
また、上述の実施例における「所定の加工」とは、所定の加工値を用いた「所定の加工」でも、所定の加工値を使用せずに行なう「所定の加工」の両方を含む概念である。
また、上述の加工値は、基本回路302の内部で生成される値を使用するのが好適である。例えば、基本回路302が有するRレジスタなど特定のレジスタの値、基本回路302が有するCPU304が実行する主制御部メイン処理や主制御部タイマ割り込み処理などソフト処理により生成される所定の乱数値、乱数回路316とは別に基本回路302が有する乱数生成回路やカウンタ回路、ROMに記憶されている所定の固定値、基本回路316ごとに異なることで該基本回路316を他の基本回路316と区別するための識別コード値などとするのが好適である。もちろん基本回路302の外部に設けた1または複数の値生成回路から取得した値を加工値として使用しても良い。例えば前回の取り出し条件成立(例えば、第1特図始動口126や第2特図始動口128への入賞)に基づいて取り出した乱数値や前回の抽選で使用した乱数値などを加工値としても良い。
ここで「所定の加工」とは加工値を足し算するなど四則算としても良いし、加工値と排他的論理和するなど論理演算としても良いし、加工値で特定される1または複数の所定のビット数だけ上位側または下位側にシフトするシフト演算や加工値で特定される1または複数の所定のビット数だけ上位側または下位側にローテートさせるローテート演算などでも良い。また加工値で特定される複数のビットの値を入れ替えるようにしてもよい。
また、加工値を使用せずに行なう「所定の加工」は、取り出した値が16ビットの範囲で値を変化させる場合であれば、上位8ビットと下位8ビットを入れ替えるなど取り出した値の特定のビット位置の値と他の特定のビット位置の値を入れ替えるなどを適用しても良い。また、上述した複数の「所定の加工」を複合した加工を「所定の加工」として適用しても良い。
なお、上記実施例においては、遊技球を遊技媒体としたパチンコ機の例を示したが、本発明はこれに限定されるものではなく、例えば、以下に説明するような、メダル(コイン)を遊技媒体としたスロットマシンなどにも適用可能である。
次に、本発明の実施例2に係るスロットマシン100について説明する。
<全体構成>
まず、図16を用いて、本実施例1に係るスロットマシン100の全体構成について説明する。なお、同図はスロットマシン100の外観斜視図を示したものである。
スロットマシン100は、略箱状の本体101と、この本体101の前面開口部に取り付けられた前面扉102とを有して構成されている。スロットマシン100の本体101の中央内部には、外周面に複数種類の図柄が所定コマ数だけ配置されたリールが3個(左リール110、中リール111、右リール112)収納され、スロットマシン100の内部で回転できるように構成されている。各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形枠材に貼り付けられて各リール110乃至112が構成されている。リール110乃至112上の図柄は、遊技者から見ると、図柄表示窓113から縦方向に概ね3つ表示され、合計9つの図柄が見えるようになっている。そして、各リール110乃至112を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。なお、本実施例1では、3個のリールをスロットマシン100の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
また、図柄表示窓113の外枠には、点滅や点灯などの点灯制御によって、後述する有効ラインや入賞ラインを報知するためのライン表示LED(図示省略)が配置されている。
さらに、スロットマシン100内部において各々のリール110乃至112の近傍には、投光部と受光部からなる光学式センサ(図示省略)が設けられており、この光学式センサの投光部と受光部の間を、リールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン114上に表示されるようにリール110乃至112を停止させる。
入賞ライン表示ランプ120は、有効となる入賞ラインを示すランプである。有効となる入賞ラインは、スロットマシン100に投入されたメダルの数によって予め定まっている。5本の入賞ライン114のうち、例えば、メダルが1枚投入された場合、中段の水平入賞ラインが有効となり、メダルが2枚投入された場合、上段水平入賞ラインと下段水平入賞ラインが追加された3本が有効となり、メダルが3枚投入された場合、右下り入賞ラインと右上り入賞ラインが追加された5本が入賞ラインとして有効になる。なお、入賞ライン114の数については5本に限定されるものではない。
スタートランプ121は、リール110乃至112が回転することができる状態にあることを遊技者に知らせるランプである。再遊技ランプ122は、前回の遊技において入賞役の一つである再遊技役に入賞した場合に、今回の遊技が再遊技可能であること(メダルの投入が不要であること)を遊技者に知らせるランプである。告知ランプ123は、内部抽選において、特定の入賞役(例えば、BB(ビッグボーナス)やRB(レギュラーボーナス)等のボーナス)に内部当選していることを遊技者に知らせるランプである。メダル投入ランプ124は、メダルの投入が可能であることを知らせるランプである。払出枚数表示器125は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。遊技回数表示器126は、メダル投入時のエラー表示や、ビッグボーナスゲーム中(BBゲーム中)の遊技回数、所定の入賞役の入賞回数等を表示するための表示器である。貯留枚数表示器127は、スロットマシン100に電子的に貯留されているメダルの枚数を表示するための表示器である。リールパネルランプ128は、演出用のランプである。
メダル投入ボタン130、131は、スロットマシン100に電子的に貯留されているメダルを所定の枚数分投入するためのボタンである。本実施例1においては、メダル投入ボタン130が押下される毎に1枚ずつ最大3枚まで投入され、メダル投入ボタン131が押下されると3枚投入されるようになっている。メダル投入口134は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、メダル投入ボタン130又は131により電子的に投入することもできるし、メダル投入口134から実際のメダルを投入することもできる。精算ボタン132は、スロットマシン100に電子的に貯留されたメダル及びベットされたメダルを精算し、メダル払出口155よりメダル受皿156に排出するためのボタンである。メダル返却ボタン133は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。
スタートレバー135は、遊技の開始操作を行うためのレバー型のスイッチである。即ち、メダル投入口134に所望する枚数のメダルを投入して、スタートレバー135を操作すると、これを契機としてリール110乃至112が回転し、遊技が開始される。ストップボタン137乃至139は、スタートレバー135の操作によって回転を開始したリール110乃至112に対する停止操作を行うためのボタンであり、各リール110乃至112に対応して設けられている。そして、いずれかのストップボタン137乃至139を操作すると対応するいずれかのリール110乃至112が停止することになる。
ドアキー孔140は、スロットマシン100の前面扉102のロックを解除するためのキーを挿入する孔である。メダル払出口155は、メダルを払出すための払出口である。メダル受皿156は、メダル払出口155から払出されたメダルを溜めるための器である。なお、メダル受皿156は、本実施例1では発光可能な受皿を採用している。
上部ランプ150、サイドランプ151、中央ランプ152、腰部ランプ153、下部ランプ154は、遊技を盛り上げるための装飾用のランプである。演出装置190は、例えば開閉自在な扉装置(シャッター)163が前面に取り付けられた液晶表示装置を含み、この演出装置190には、例えば小役告知等の各種の情報が表示される。音孔160は、スロットマシン100内部に設けられているスピーカの音を外部に出力するための孔である。タイトルパネル162には、スロットマシン100を装飾するための図柄が描かれる。
<主制御部300>
次に、図17および図18を用いて、このスロットマシン100の制御部の回路構成について詳細に説明する。
スロットマシン100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300より送信されたコマンドに応じて各種機器を制御する副制御部400と、副制御部400より送信されたコマンドに応じて液晶表示装置157や扉装置163を制御する扉・液晶画面表示制御部490によって構成されている。
<主制御部>
まず、図17を用いて、スロットマシン100の主制御部300について説明する。なお、同図は主制御部300の回路ブロック図を示したものである。
主制御部300は、主制御部300の全体を制御するための演算処理装置であるCPU310や、CPU310が各ICや各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、その他、以下に述べる構成を有する。クロック補正回路314は、水晶発振器311から発振されたクロックを分周してCPU310に供給する回路である。例えば、水晶発振器311の周波数が12MHzの場合に、分周後のクロックは6MHzとなる。CPU310は、クロック補正回路314により分周されたクロックをシステムクロックとして受け入れて動作する。
また、CPU310には、センサやスイッチの状態を常時監視するためのタイマ割り込み処理の周期やモータの駆動パルスの送信周期を設定するためのタイマ回路315がバスを介して接続されている。CPU310は、電源が投入されると、データバスを介してROM312の所定エリアに格納された分周用のデータをタイマ回路315に送信する。タイマ回路315は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU310に送信する。CPU310は、この割込み要求を契機に、各センサ等の監視や駆動パルスの送信を実行する。例えば、CPU310のシステムクロックを6MHz、タイマ回路315の分周値を1/256、ROM312の分周用のデータを44に設定した場合、この割り込みの基準時間は、256×44÷6MHz=1.877msとなる。
さらに、CPU310には、各ICを制御するためのプログラム、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等の各種データを記憶しているROM312や、一時的なデータを保存するためのRAM313が接続されている。これらのROM312やRAM313については他の記憶手段を用いてもよく、この点は後述する副制御部400においても同様である。また、CPU310には、外部の信号を受信するための入力インタフェース360が接続され、割込み時間ごとに入力インタフェース360を介して、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算スイッチセンサ324、メダル払い出しセンサ326、電源判定回路327の状態を検出し、各センサを監視している。
メダル投入センサ320は、メダル投入口134に投入されたメダルを検出するためのセンサである。スタートレバーセンサ321はスタートレバー135の操作を検出するためのセンサである。ストップボタンセンサ322はストップボタン137乃至139のいずれかが押された場合、どのストップボタンが押されたかを検出するためのセンサである。メダル投入ボタンセンサ323はメダル投入ボタン130、131のいずれかが押下された場合、どのメダル投入ボタンが押されたかを検出するためのセンサである。精算スイッチセンサ324は、精算ボタン132に設けられており、精算ボタン132が一回押されると、貯留されているメダル及びベットされているメダルが精算されて払い出されることになる。メダル払い出しセンサ326は、払い出されるメダルを検出するためのセンサである。電源判定回路327は、スロットマシン100に供給される電源の遮断を検出するための回路である。
CPU310には、更に、入力インタフェース361、出力インタフェース370、371がアドレスデコード回路350を介してアドレスバスに接続されている。CPU310は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。入力インタフェース361には、インデックスセンサ325が接続されている。インデックスセンサ325は、各リール110乃至112の取付台の所定位置に設置されており、リール110乃至112に設けた遮光片がこのインデックスセンサ325を通過するたびにハイレベルになる。CPU310は、この信号を検出すると、リールが1回転したものと判断し、リールの回転位置情報をゼロにリセットする。出力インタフェース370には、リールを駆動させるためのモータを制御するリールモータ駆動部330と、ホッパー(バケットにたまっているメダルをメダル払出口155から払出すための装置。)のモータを駆動するためのホッパーモータ駆動部331と、遊技ランプ340(具体的には、入賞ライン表示ランプ120、スタートランプ121、再遊技ランプ122、告知ランプ123、メダル投入ランプ124等)と、7セグメント(SEG)表示器341(払出枚数表示器125、遊技情報表示器126、貯留枚数表示器127等)が接続されている。
また、CPU310には、乱数発生回路317がデータバスを介して接続されている。乱数発生回路317は、水晶発振器311及び水晶発振器316から発振されるクロックに基づいて、一定の範囲内で値をインクリメントし、そのカウント値をCPU310に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。
また、図示はしないが、主制御部300は、クロック補正回路314から入力するシステムクロックの周波数と乱数発生回路317に入力する乱数用クロックの周波数を比較し、乱数用クロックの周波数がシステムクロック以下の周波数である場合に、内部情報レジスタのクロック信号状態ビットを1にセットする周波数発生回路を備えている。主制御部300のCPU310は、内部情報レジスタのクロック信号状態ビットが1にセットされている場合(乱数用クロックの周波数がシステムクロックの周波数以下である場合)には、乱数用クロックに何らかの異常(例えば、乱数発生回路317と水晶発振器316とを結ぶ配線パターンの断線)が発生したと判定し、内部情報レジスタのクロック信号状態ビットが0にセットされている場合(乱数用クロックの周波数がシステムクロックの周波数未満である場合)には、乱数用クロックが正常であると判定する。また、図示はしないが、主制御部300は、外部の照合機と接続し、チップの照合(チップの真贋についてのチェック)を行う照合用ブロックブロックを備える。また、乱数発生回路317から水晶発振器316までの第1信号線が、クロック補正回路314から水晶発振器311までの第2信号線よりも長くなるように配線している。
CPU310のデータバスには、副制御部400にコマンドを送信するための出力インタフェース371が接続されている。主制御部300と副制御部400との情報通信は一方向の通信であり、主制御部300は副制御部400へコマンドを送信するが、副制御部400から主制御部300へ何らかのコマンド等を送信することはできない。
<副制御部400>
次に、図18を用いて、スロットマシン100の副制御部400について説明する。なお、同図は副制御部400の回路ブロック図を示したものである。
副制御部400は、主制御部300より送信された主制御コマンド等に基づいて副制御部400の全体を制御する演算処理装置であるCPU410や、CPU410が各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。クロック補正回路414は、水晶発振器411から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU410に供給する回路である。
また、CPU410にはタイマ回路415がバスを介して接続されている。CPU410は、所定のタイミングでデータバスを介してROM412の所定エリアに格納された分周用のデータをタイマ回路415に送信する。タイマ回路415は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU410に送信する。CPU410は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。
また、CPU410には、副制御部400の全体を制御するための命令及びデータ、ライン表示LEDの点灯パターンや各種表示器を制御するためのデータが記憶されたROM412や、データ等を一時的に保存するためのRAM413が各バスを介して接続されている。
さらに、CPU410には、外部の信号を送受信するための入出力インタフェース460が接続されており、入出力インタフェース460には、図柄表示窓113の外枠に配設され、点滅や点灯などの点灯制御によって有効ラインや入賞ラインを報知するためのライン表示LED420、前面扉102の開閉を検出するための扉センサ421、RAM413のデータをクリアにするためのリセットスイッチ422が接続されている。
CPU410には、データバスを介して主制御部300から主制御コマンドを受信するための入力インタフェース461が接続されており、入力インタフェース461を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等が実行される。また、CPU410のデータバスとアドレスバスには、音源IC480が接続されている。音源IC480は、CPU410からの命令に応じて音声の制御を行う。また、音源IC480には、音声データが記憶されたROM481が接続されており、音源IC480は、ROM481から取得した音声データをアンプ482で増幅させてスピーカ483から出力する。CPU410には、主制御部300と同様に、外部ICを選択するためのアドレスデコード回路450が接続されており、アドレスデコード回路450には、主制御部300からのコマンドを受信するための入力インタフェース461、時計IC423、7セグメント表示器440への信号を出力するための出力インタフェース472等が接続されている。
時計IC423が接続されていることで、CPU410は、現在時刻を取得することが可能である。7セグメント表示器440は、スロットマシン100の内部に設けられており、たとえば副制御部400に設定された所定の情報を遊技店の係員等が確認できるようになっている。更に、出力インタフェース470には、デマルチプレクサ419が接続されている。デマルチプレクサ419は、出力インタフェース470から送信された信号を各表示部等に分配する。即ち、デマルチプレクサ419は、CPU410から受信されたデータに応じて上部ランプ150、サイドランプ151、中央ランプ152、腰部ランプ153、下部ランプ154、リールパネルランプ128、タイトルパネルランプ170、払出口ストロボ171を制御する。タイトルパネルランプ170は、タイトルパネル162を照明するランプであり、払出口ストロボ171は、メダル払い出し口155の内側に設置されたストロボタイプのランプである。なお、CPU410は、扉・液晶画面制御部490への信号送信は、デマルチプレクサ419を介して実施する。扉・液晶画面制御部490は、液晶表示装置157及び扉装置163を制御する制御部である。
<メイン処理>
次に、図19を用いて、主制御部300のメイン処理について説明する。なお、同図は、主制御部300のメイン処理の流れを示すフローチャートである。
遊技の基本的制御は、主制御部300のMainCPU310が中心になって行い、電源断等を検知しないかぎり、MainCPU310が同図のメイン処理を繰り返し実行する。
ステップS1101では、初期設定1を行う。この初期設定1では、CPU310のスタックポインタ(SP)へのスタック初期値の設定、割り込みマスクの設定、RAM313に記憶する各種変数の初期設定、ウォッチドックタイマ(WDT)への動作許可及び初期値の設定等を行う。ステップS1102では、WDTのカウンタの値をクリアし、WDTによる時間計測を再始動する。
ステップS1103では、低電圧信号がオンであるか否か、すなわち、電圧判定回路327が、主制御部300に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU310が電源の遮断を検知した場合)にはステップS1102に戻り、低電圧信号がオフの場合(CPU310が電源の遮断を検知していない場合)にはステップS1104に進む。
ステップS1104では、初期設定2を行う。この初期設定2では、後述するタイマ割り込み処理を定期毎に実行するための周期を決める数値をタイマ回路315に設定する処理、RAM313の書き込みを許可する設定等を行う。
ステップ1105では、設定キーセンサの状態に基づいて設定キーを受け付けているか否かを判断する。そして、設定キーを受け付けている場合にはステップS1106の設定変更処理に進み、設定キーを受け付けていない場合にはステップS1107に進む。
ステップS1106では、設定変更処理を行う。この設定変更処理では、最初に、機能限定ウェイトの設定を解除すると共に、割込み許可の設定を行った後、設定値の変更を行う。
ステップS1107では、電断前(電源の遮断前)の状態に復帰するか否かを判断する。そして、電断前の状態に復帰する場合にはステップS1108に進み、そうでない場合にはステップS1110に進む。
ステップS1108では、(後述する)タイマ割込み処理において割込み機能を所定時間ウェイトさせるべく、機能限定ウェイトの設定を行った後(RAM313の所定記憶領域に機能限定中であることを示す情報を記憶した後)、ステップS1109では、スタックポインタに、電断時に記憶したスタックポインタを再設定するなど、復電時の処理を行って処理を終了する。
ステップS1110では、遊技メダル投入処理を行う。詳細は後述するが、この遊技メダル投入処理では、機能限定ウェイトの設定を解除すると共に、割込み許可の設定を行った後、メダル投入に関する処理を行う。
ステップS1111では、遊技のスタート操作に関する処理を行う。ここでは、スタートレバーセンサ321の状態に基づいてスタートレバー135が操作されたか否かのチェックを行い、スタート操作されたと判断した場合は、投入されたメダル枚数を確定する。ステップS1112では、乱数取得処理を行う(詳細は後述する)。ステップS1113では、ステップS1112で取得した乱数値と、ROM312に格納した抽選データを用いて、入賞役の内部抽選を行う。
ステップS1114では、リール回転開始処理により、全リール110〜112の回転を開始する。この際、ステップS1113の内部抽選の結果等に基づき、リール110〜112の停止位置を規定したリール停止制御テーブルを選択する。
ステップS1115では、ストップボタンセンサ322の状態に基づいてストップボタン137〜139が操作されたか否かのチェックを行い、ストップボタン137〜139が操作されたと判断した場合は、ステップS1114で選択したリール停止制御テーブルに基づいて、押されたストップボタン137〜139に対応するリール110〜112の回転を停止する。そして、インデックスセンサ325の状態に基づいて全リール110〜112が停止したか否かを判定し、全リール110〜112が停止した場合にはステップS216に進み、そうでない場合にはストップボタン137〜139が操作され全リール110〜112が停止するのを待つ。
ステップS1116では、ストップボタン137〜139が押されることによって停止した全リール110〜112の図柄の入賞判定を行う。ここでは、有効化された入賞ライン114上に、内部当選した役またはフラグ持越し中の役に対応する図柄組合せが揃った(表示された)場合にその役に入賞したと判定する。ステップS1117では、メダル払出処理を行う。このメダル払出処理では、払い出しのある何らかの役に入賞していれば、その役に対応する枚数のメダルを払い出す。ステップS1118では、遊技を終了するための制御や、遊技状態を移行するための制御を行う。例えば、BB入賞やRB入賞の場合に次回からBB遊技またはRB遊技が開始できるように準備し、それらの最終遊技では、次回から通常遊技が開始できるように準備する。
以上により1遊技が終了し、以降、このメイン処理を繰り返すことにより遊技が進行することになる。
<遊技メダル投入処理>
次に、図20を用いて、上記メイン処理における遊技メダル投入処理について説明する。なお、同図は遊技メダル投入処理の流れを示すフローチャートである。
ステップS1301では、内部情報レジスタのクロック信号状態ビットを参照し、クロック信号状態ビットが1にセットされているか否かを判定する。そして、クロック信号状態ビットが1にセットされている場合(乱数用クロックRCKに異常がある場合)はステップS1302に進み、そうでない場合はステップS1303に進む。
ステップS1302では、乱数用クロックRCKに異常がある旨の情報を他の制御部(例えば、副制御部400)に送信するために、乱数用クロックの異常による停止コマンドの出力設定をした後、処理を終了する。なお、この乱数用クロックの異常による停止コマンドを受信した副制御部400は、乱数用クロックの異常を、液晶表示装置157による表示、スピーカ484による音声、扉装置(可動物)163による動きなどによって報知する。
ステップS1303では、遊技メダルの投入の有無を確認し、遊技メダルが投入された場合にはステップS1304に進んで賭け枚数増加処理を行い、遊技メダルが投入されていない場合にはステップS1305に進む。
ステップS1305では、精算ボタンの操作の有無を確認し、精算ボタンの操作があった場合にはステップS1306に進んで遊技媒体の精算処理を行い、精算ボタンの操作が無かった場合にはステップS1307に進む。
ステップS1307では、遊技メダルの賭け枚数が0より大きいか否かを判定し、該当する場合にはステップS1308に進み、該当しない場合にはステップS1301に戻る。
ステップS1308では、スタート操作の有無を確認し、スタート操作があった場合には処理を終了し、スタート操作が無い場合にはステップS1301に戻る。
<乱数取得処理>
次に、図21を用いて、上記メイン処理における乱数取得処理について説明する。なお、同図は乱数取得処理の流れを示すフローチャートである。
ステップS1401では、内部情報レジスタのクロック信号状態ビットを参照し、クロック信号状態ビットが1にセットされているか否かを判定する。そして、クロック信号状態ビットが1にセットされている場合(乱数用クロックRCKに異常がある場合)はステップS1402に進み、そうでない場合はステップS1403に進む。
ステップS1402では、乱数用クロックRCKに異常がある旨の情報を他の制御部(例えば、副制御部400)に送信するために、乱数用クロックの異常による停止コマンドの出力設定をした後、処理を終了する。なお、この乱数用クロックの異常による停止コマンドを受信した副制御部400は、乱数用クロックの異常を、液晶表示装置157による表示、スピーカ484による音声、扉装置(可動物)163による動きなどによって報知する。次のステップS1403では、乱数発生回路317から乱数を取得した後に、処理を終了する。
<タイマ割込み処理>
次に、図22を用いて、主制御部300のMainCPU310が実行するタイマ割込み処理について説明する。なお、同図はタイマ割込み処理の流れを示すフローチャートである。
MainCPU310は、所定の周期(本実施例では約1.504msに1回)でタイマ割込みを発生させるハードウェアタイマを備えており、タイマ割込み処理を、タイマ割込みを契機として所定の周期で実行する。
ステップS1201では、MainCPU310の各レジスタをスタックに退避する。ステップS1202では、入力ポートの値を取得して、各種センサ(メダル投入センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル払出センサ326など)の状態を検出する。より具体的には、メダル投入センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル払出センサ326などの複数のセンサが出力する信号を入力し、これら複数のセンサからの出力がそれぞれオンかオフかを判定する。
ステップS1203では、割込み機能が限定中であるか否か、すなわち、上記メイン処理において機能限定ウェイトを設定しているか否か(RAM313の所定記憶領域に機能限定中であることを示す情報を記憶しているか否か)を判断する。そして、割込み機能が限定中である場合(機能限定ウェイトを設定している場合)にはステップS1204〜S1208の処理を行うことなくステップS1209に進み、割込み機能が限定中でない場合(機能限定ウェイトを設定していない場合)にはステップS1204に進む。
ステップS1204では、遊技メダル投入受付処理を行う。詳細は後述するが、この遊技メダル投入受付処理では、現在の遊技状態や、一遊技に必要な規定メダル数などに基づいて、遊技メダルの投入に関する処理を行う。
ステップS1205では、リール110〜112の回転制御や停止制御などのリール制御処理を行い、ステップS1206では、その他の処理を行う。ステップS1207では、遊技ランプ340(上部ランプ150、サイドランプ151、中央ランプ152、腰部ランプ153、下部ランプ154、受皿ランプ156など)に出力するデータの更新を行う。
ステップS1208では、常時エラー監視処理を行う。この常時エラー監視処理では、上記ステップ1202で検出したメダル払出センサ326などの状態に基づいて、ホッパーなどのエラーの監視と、エラーの検出情報の更新を行う。
ステップS1209では、集中端子板信号設定処理を行う。この集中端子板信号設定処理では、RAM313に記憶したセキュリティ状態情報などに基づいて状態複合信号を生成し、シリアル出力する。また、RAM313に記憶したメダル投入情報などに基づいてメダル投入信号、メダル払出信号、外部信号1〜4を生成し、パラレル出力する。
ステップS1210では、7SEG表示器341に出力するデータの設定を行い、ステップS1211では、リールモータ制御部330やホッパーモータ制御部331などに出力するデータの設定を行う。また、内部情報レジスタのクロック信号状態ビットを参照し、内部情報レジスタのクロック信号状態ビットが1にセットされている場合(乱数用クロックの周波数がシステムクロックの周波数以下である場合)には、乱数用クロックに何らかの異常(例えば、乱数発生回路317と水晶発振器316とを結ぶ配線パターンの断線)が発生したと判定し、7SEG表示器341を用いてエラーを示す情報を表示する。一方、
内部情報レジスタのクロック信号状態ビットが0にセットされている場合(乱数用クロックの周波数がシステムクロックの周波数未満である場合)には、乱数用クロックが正常であると判定し、次のステップS1212に進む。
ステップS1212では、副制御部400に制御コマンドを出力し、ステップS1213では、RAM313に記憶している各種のカウンタタイマ(例えば、上述のセキュリティ信号出力待機タイマなど)を更新する。
ステップS1214では、上述の電圧低下信号がオンであるか否か、すなわち、スロットマシン100に所定の電圧が供給されているか否かを判断する。そして、電圧低下信号がオンである場合(スロットマシン100に所定の電圧が供給されていない場合)にはステップS1217に進み、電圧低下信号がオフである場合(スロットマシン100に所定の電圧が供給されている場合)にはステップS1215に進む。
ステップS1215では、ステップS1201で退避したレジスタを復帰し、ステップS1216では、割込みを許可する設定を行う。
ステップS1217〜S1220では、電断処理を行う。より具体的には、ステップS1217では、現在のスタックポインタを保存し、ステップS1218では、電源ステータスを「電断」に更新する。また、ステップS1219では、RAM313に記憶した値を用いてチェックサムを計算・設定し、ステップS1220では、RAM313の書き込みを禁止に設定した後、無限ループとなる。
以上説明したように、本実施例2に係るスロットマシン100は、第1クロック信号(例えば、乱数用クロックの信号)を生成する第1クロック生成回路(例えば、水晶発振器316)と、第2クロック信号(例えば、システムクロックの信号)を生成する第2クロック生成回路(例えば、水晶発振器311)と、前記第1クロック信号を受信したことに基づいて乱数値を更新する乱数更新回路(例えば、乱数発生回路317)、および、前記第2クロック信号を受信したことに基づいてシステムクロック信号を生成するシステムクロック生成回路(例えば、クロック補正回路314)を有し、前記システムクロック信号に基づいて制御を行い、前記乱数更新回路が更新した前記乱数値を取得するとともに、該取得した乱数値と予め設定された特定乱数値とが一致した場合に遊技者に有利な特別遊技状態(例えば、ビッグボーナス遊技)を発生させる遊技制御手段と、を備えた遊技台であって、前記遊技制御手段(の乱数発生回路317)から前記第1クロック生成回路までの第1信号線が、前記遊技制御手段(のクロック補正回路314)から前記第2クロック生成回路までの第2信号線よりも長くなるように配線したことを特徴とする、遊技台である。
本実施例2に係るスロットマシン100によれば、第2信号線より第1信号線が長いので、遊技制御手段近傍に第1クロック生成回路を配置する必要がなく、遊技制御手段近傍の基板上領域の部品配置に関する自由度を高めることができる場合がある。また、遊技制御手段近傍に第2クロック生成回路を配置して第2信号線を限りなく短くすることができるため、第2信号線への外乱の影響を極力排除することができ、第2クロック生成回路からの第2クロック信号を安定して遊技制御手段に出力することができる場合がある。また、第2信号線よりも第1信号線のほうが長いので外乱の影響などを受け易いが、仮に外乱の影響などで第1クロック信号の波形が崩れてパルスを遊技制御手段が受信することができなかったとしても、乱数更新のランダム性を高めることができる場合がある。
なお、本発明の実施の形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施の形態に記載されたものに限定されるものではない。また、実施例に記載した複数の構成のうち、1つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。