<全体構成>
まず、図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と、を搭載している。
また、基本回路302には、後述するセンサ回路320、表示回路322、表示回路324、ソレノイド回路332、カウンタ回路316を構成するカウンタ、情報出力回路334などの周辺デバイスに対する入出力(メモリマップトI/O)を制御するためのアドレスデコード回路351が塔載されている。アドレスデコード回路351廻りの詳細な構成については後述する。
主制御部300のCPU304の各部、特に基本回路302と周辺デバイス、あるいは後述の払出制御部400、演出制御部350などとの間の接続には、システムバス(アドレスバス/データバス)300aが用いられる。周辺デバイスに対するメモリマップトI/Oには、アドレスデコード回路351の制御が介在することになる。
なお、上記の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に検出信号を出力するチャンスボタン検出回路146aを接続している。
また、演出制御部350には、電源が投入されると起動信号(リセット信号)を出力する、図示しない起動信号出力回路(リセット信号出力回路)を設けており、CPU354は、この起動信号出力回路から起動信号を入力した場合に、演出制御を開始する。
<主制御部リセット割り込み処理>
次に、図6を用いて、主制御部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)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS107に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS108に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS108に進む。
ステップS107では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS110、ステップS111内の所定の)命令の次の命令から処理を再開する。
ステップS108では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
ステップS110では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS111に進む。
なお、乱数カウンタとしては、図4のカウンタ回路316を用い、カウンタ回路316のスタート/ストップ、読み出しなどに係わる入出力制御には、アドレスデコード回路351(図4)が用いられる(後述の図7でも同様)。アドレスデコード回路351廻りの詳細な構成、および乱数カウンタ廻りの詳細な構成については後述する。
ステップS111では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS110およびS111の処理を繰り返し実行する。
<主制御部タイマ割り込み処理>
次に、図7を用いて、主制御部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に設けている。
ステップ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以上)における特図状態更新処理では、特図表示装置114を構成する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以上である場合に、主制御部300のROM306にあらかじめ格納されている大当たり判定テーブル、高確率状態移行判定テーブル、タイマ番号決定テーブル(いずれも不図示)などを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図乱数値が、高確率状態移行判定テーブルの移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオンに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオフに設定する。
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含むタイマ番号決定テーブルのタイマ乱数の数値範囲に対応するタイマ番号を選択し、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に出力する。
ステップS320では、デバイス監視処理を行う。このデバイス監視処理では、ステップ303において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、前枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、前枠開放エラー、または下皿満タンエラーを検出した場合に、演出制御部350に送信すべき送信情報に、ガラス枠開放エラーの有無、前枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS311)で設定した出力予定情報を出力ポート310を介して演出制御部350に出力する。
ステップS321では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS324に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS322に進む。
ステップS322では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS301で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
ステップS324では、電断時処理を行う。この電断時処理では、上述のスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム(電断時チェックサム)として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、RAM308への書き込みを禁止する設定を行った後、無限ループとなる。
<制御回路の詳細>
以上、パチンコ機の全体構成と動作につき大まかに説明した。
上記のようなパチンコ機などの遊技台では、遊技盤の遊技領域に遊技球が入賞可能な始動口と、複数個の図柄を変動表示可能な図柄表示部を備え、始動口に遊技球が入賞すると、当たりか否かの抽選をおこない、図柄表示部の図柄を所定時間変動して、抽選結果が当りであった場合に、変動後の図柄が予め定めた特定図柄の組み合わせである特定態様を表示するとともに、可変入賞手段を所定時間開放させるなど、遊技者に有利な遊技状態を発生させるようにしている。
このような遊技台の遊技進行を制御する制御基板には、遊技台の操作部、表示装置、各駆動部から成る入出力デバイスを制御し、かつ上述の抽選を制御するためにCPU(304)およびその周辺デバイスから構成された遊技制御用コンピュータが塔載されている。また、この制御基板には、遊技制御用コンピュータの装置制御、および抽選動作を行うためのプログラムを記憶したROM(306)が塔載される。
そして、従来より、上記制御基板の機能を改変することにより、抽選の確率や抽選動作それ自体を制御して行なう不正使用事例が多数報告されている。このような不正使用の手法の1つとして、たとえば、制御プログラムが格納されたROMや遊技制御用コンピュータ(CPU304)を交換するものが報告されている。
このような不正使用が横行すると遊技台を設置した遊技店は多大な損失を受けるため、遊技台の回路は予想される不正使用に耐えられるよう構成されていなければならない。
このような不正を防止するため、特にROMやCPUなどの電子部品の不正交換に対する対策としては、上述のように筐体が開封されるとその旨を電気的に検出する封印装置を設けることが提案されている。
また、上記の制御プログラムが格納されたROMや遊技制御用コンピュータ(CPU)を交換する不正使用においては、正規の動作では用いられないようなメモリ範囲や、I/O空間を指示するアドレスデータを発生させる手法がとられることがある。
ROM/RAMなどのメモリ、あるいは入出力デバイスは、多くの遊技台においてCPUのメモリ空間の特定アドレスにマップされており、I/Oリクエストの発生に応じてアドレスデコーダが指定されたアドレスデータをデコードしてチップセレクト信号(CS)を発生することにより、特定のメモリデバイスやI/Oデバイスがセレクトされ、これによりメモリI/Oおよび入出力動作が実行される。
一般に、1パッケージICで構成されたアドレスデコーダは、8ビット程度のアドレス端子のうちたとえば4ビットのアドレスを用いて、10〜16本程度の出力端子からチップセレクト信号を発生するといった構成になっており、この程度の規模のアドレスデコーダを複数、適当なアドレス範囲にマップされるように配置することによりメモリや入出力空間がアドレスされる。
しかしながら、従来の遊技台では、上記のようなアドレスデコーダチップに対して、目的のチップセレクトを制御できる4ビット程度の下位のアドレス線を配線し、目的の入出力制御とは関係のない残りの上位アドレス線はNC(無接続)とする、といった構成が多く用いられてきた。
このような構成では、たとえば、目的の入出力デバイスに対応する下位アドレスデータと、通常は用いられないような特定の上位アドレスデータを組み合せた不正な(たとえばCPUのチェックルーチンが異常を検出できないような)アドレスデータを用いることにより、特定の周辺デバイスをアクセスすることができてしまう可能性がある。
そして、このような特定の周辺デバイスの入出力を不正操作できる可能性がある、ということは、通常は不可能な操作状態、表示状態、遊技媒体のカウント状態や払い出し状態を生成したり、遊技台の制御状態を決定する確率変動を操作することなどにより行われる不正行為を許してしまう可能性がある、ということを意味する。
そこで、本実施例では、不正なアドレスデータが発生された場合には、アドレスデータに対応する入出力制御を行わず、フルビットの正規のアドレスデータが用いられた場合のみアドレスデータに対応する入出力制御を行うことができ、機器を構成する周辺デバイスに対する不正な入出力制御を未然に防止できるようにする。
さて、上述のように、動作中、主制御部300のCPU304は、普図/特図表示装置112、114を構成する7セグメントLEDや、乱数発生のためのカウンタ回路316などの周辺デバイスにアクセスする必要がある。
これらの周辺デバイスに対するメモリマップトI/Oによるアクセスは、CPU304がシステムバス300aのデータバスに必要であればデータを出力するとともに、アドレスバスに目的の周辺デバイスのアドレスを出力することにより行なわれる。
これに応じて、アドレスデコード回路351は、アドレスバス上のアドレスデータをデコードし、チップセレクト(CS)信号を出力して、目的の周辺デバイスに対応するチップを選択することにより、当該の周辺デバイスに対する入出力が行われる。
以下、図8〜図14を参照して、本実施例のアドレスデコーダ、およびそのアドレスデコーダを用いて構成したアドレスデコード回路の構成例につき説明する。
図8〜図11は図4の主制御部300を構成する論理回路の構成をより詳細に示している。これら各図中の信号のアルファベット記号の上線、あるいは端子に付した白丸はローレベル能動の信号を示し、当然ながら、同一のアルファベット記号を付された信号端子は以下の図8〜図11において相互に結線されているものとする。また、図12〜図14は、本実施例において用いられるアドレスデコーダの構成を示している。
図8は、図4のCPU304廻りの回路構成をより詳細に示したものである。図8において、CPU304のリセット端子SRSTには、電源投入などによりリセット信号を生成するリセット回路として起動信号出力回路338が接続されている。起動信号出力回路338は、パチンコ機、特に図4の制御回路を構成する主基板に電力が供給され、VSA端子に印加される電圧が所定の値を超えたことを検出すると、CPU304のSRST端子にリセット信号を出力する。
また、CPU304の外部クロック端子(EX)には水晶発振器314bが発生するシステムクロックが供給される。
CPU304のアドレス端子A0〜A15は抵抗1401でそれぞれプルアップされた上、アドレスバスとして配線される。また、CPU304のデータ端子D0〜D7は、抵抗1402でそれぞれプルアップされた上、データバスとして配線される。このデータバスを介して、CPU304は周辺デバイスと双方向通信を行う。CPU304は、周辺デバイスにデータを送信または受信する場合、データを送信または受信する周辺デバイスを示すアドレス情報をアドレスバスから出力するとともに、送信データをバッファ1410経由でデータバスに出力する。
また、CPU304のリセット出力RSTO、ライトストローブ(ライトイネーブル)WR、リードストローブ(リードイネーブル)RD、入出力リクエストIORQの各端子は抵抗1411でプルアップされた上、リセット信号XRSTO、ライトストローブ(ライトイネーブル)信号XWR、リードストローブ(リードイネーブル)信号XRD、入出力リクエストXIORQとして後述のアドレスデコーダ、ないし周辺デバイスの対応する端子に接続される。
以下、さらに図9〜図11を参照して上述のパチンコ機の周辺デバイスに対する入出力制御回路の構成につき説明する。
図9は、周辺デバイスに対する入出力を制御するアドレスデコーダ廻りの構成を示している。図9の構成は、図4におけるアドレスデコード回路351に相当する。
図9のアドレスデコード回路は、後述の構成を有するアドレスデコーダ3510を周辺デバイスへのデータ出力用、およびデータ入力用として用いている。
図9のアドレスデコーダ3510は、CPU304が出力するライトストローブ信号XWRを入力し(イネーブル入力G2A)、外部に信号を出力する出力装置をチップセレクトするチップセレクト信号XOCS_00〜XOCS_05を生成する(出力端子1Y0〜1Y5)。また、アドレスデコーダ3510は、CPU304が出力するリードストローブ信号XRDを入力し(イネーブル入力G2B)、外部からの信号を入力する入力装置をチップセレクトするチップセレクト信号XICS_00〜XICS_04を生成する(出力端子2Y0〜2Y4)。
アドレスデコーダ3510は、アドレスバスから到来するアドレスデータA0〜A7を入力するとともに、そのイネーブル入力G1にはI/Oリクエスト信号XIORQが入力されている。また、上記のライトストローブ信号XWRはイネーブル入力G2Aに、リードストローブ信号XRDはイネーブル入力G2Bにそれぞれ接続されている。
アドレスデコーダ3510の2つのイネーブル入力G2A、およびG2Bは、それぞれ出力系(出力端子1Y0〜1Y5)入力系(出力端子2Y0〜2Y4)の2系統の出力端子から出力されるチップセレクト信号を選択するために設けられている。
このように、イネーブル入力G2A、G2Bは、入力系(XRD)、および出力系(XWR)のチップセレクト出力を選択する用途に用いることを想定しており、この点ではストローブ入力と考えることができる。以下では、文脈に応じ、適切な場所ではイネーブル入力G2A、G2Bへの入力信号は、ストローブ(入力)信号としても取り扱う。
なお、後述のようにイネーブル入力G2A、およびG2Bは、同時にアクティブ(ローレベル)とすることができる。イネーブル入力G2A、およびG2Bを同時にアクティブにした場合には、同じアドレスをデコードしてチップセレクト信号XOCS_00〜XOCS_05のいずれか、およびチップセレクト信号XICS_00〜XICS_04のいずれか、が出力される(後述の図13の符号Aの部分)。
アドレスデコーダ3510は、入力アドレス線(A0〜A7)から入力されたアドレス情報をデコードし、各々1つの入出力装置を指定するチップセレクト信号XOCS_00〜XOCS_05を出力端子1Y0〜1Y5から、または、チップセレクト信号XICS_00〜XICS_04を出力端子2Y0〜2Y4から出力する。
上記のチップセレクト信号XOCS_00〜XOCS_05、およびXICS_00〜XICS_04は、図10および図11の入出力制御回路で用いられる。
図10は出力系の周辺デバイスの制御回路の構成を示している。図10の回路は、電動チューリップ用ソレノイド駆動信号(DENCU)、大入賞口扉用ソレノイド駆動信号(BIG_GATE)、内枠開放状態報知用LED点灯駆動信号(LED_COM)、特別図柄表示用7セグメント表示器コモン信号(7SEG_COM)、7セグメント表示器駆動信号(LED_7SEG_A、LED_7SEG_B…LED_7SEG_H)などを用いて、図4の表示回路322、324、ないし328に相当する表示系、およびソレノイド回路332に相当する駆動系に対する出力制御を行うものである。
図10のフリップフロップIC3511は、CPU304のデータバスからの出力情報、アドレスデコーダ3510の1Y0端子から出力されるチップセレクト信号XOCS_00がCLK端子に入力されると、電動チューリップ用ソレノイド駆動信号(DENCU)、大入賞口扉用ソレノイド駆動信号(BIG_GATE)、内枠開放状態報知用LED点灯駆動信号(LED_COM)、特別図柄表示用7セグメント表示器コモン信号(7SEG_COM)などの制御信号出力する。ここで各出力端子からオンまたはオフのうちいずれの信号を出力するかはCPU304がデータバス(D0〜D7)に出力するデータ信号のビットパターンに応じて決定される。また、CPU304のRSTO端子から出力されるリセット信号XRSTOがCLR端子に入力されると、フリップフロップIC3511は全ての端子からオフ信号を出力する。
シンクドライバIC3512は、遊技制御用マイコン(IC101)のデータバスからの出力情報、アドレスデコーダ(IC105)の1Y1端子から出力されるチップセレクト信号(XOCS_01)をCLK端子に入力した場合に、特別図柄表示装置用7セグメント表示器の所定の第1のセグメント点灯駆動信号、特別図柄表示装置用7セグメント表示器の所定の第2のセグメント点灯駆動信号、特別図柄表示装置用7セグメント表示器の所定の第7のセグメント点灯駆動信号、特別図柄表示装置用7セグメント表示器の小数点点灯駆動信号などの信号(LED_7SEG_A、LED_7SEG_B…LED_7SEG_H)を出力する。ここで点灯または消灯のうちいずれの信号を出力するかはCPU304がデータバスに出力する信号に基づいて決定される。また、CPU304のRSTO端子から出力されるリセット信号XRSTOがCLR端子に入力されると、シンクドライバIC3512は全ての端子から各LEDを消灯する信号を出力する。
図11は入力系の周辺デバイスの制御回路の構成を示している。図11の回路は、図4のセンサ回路320、乱数発生用のカウンタ回路316から操作情報や乱数情報を取り込むための入力制御を行うものである。
図11において、バッファIC3513は、アドレスデコーダ3510の2Y0端子から出力されるチップセレクト信号XICS_00がG1端子に入力されると、遊技盤面に設けた大入賞口に球が入賞した場合にオン信号を出力する大入賞口入賞球検出用センサ信号(BIG)、遊技盤面に設けた始動ゲートを球が通過した場合にオン信号を出力する始動ゲート球通過検出用センサ信号(GATE)、遊技盤面に設けた始動口1(図1の126)に球が入賞した場合にオン信号を出力する大入賞口入賞球検出用センサ信号(START1)、遊技盤面に設けた始動口2(図1の128s)に球が入賞した場合にオン信号を出力する大入賞口入賞球検出用センサ信号(START2)などの状態を示すビットパターンをデータバス(D0〜D7)に出力する。
また、図11のカウンタIC3514は、乱数発生用のカウンタ回路316に相当する。このカウンタIC3514は、CPU304のための水晶発振器314bとは別の水晶発振器314aの発振周期に基づいて動作する第1および第2の2つの16ビットカウンタ回路を搭載したものである。
図1に示したように、遊技盤面には第1および第2の2つの始動口126、128が設けられており、それら2つの始動口のそれぞれに球が入賞したことを検出する第1および第2の2つの球検出スイッチから検出信号START1、およびSTART2が上記のバッファIC3513に入されるとともに、カウンタIC3514のRCLKA端子およびRCLKB端子にそれぞれ入力される。
ここで、たとえば第1の始動口(126)に球が入賞したことを検出する第1の球検出スイッチが球が入賞したことを示す信号(START1)を出力すると、カウンタIC3514のRCLKB端子によりその信号が入力され、カウンタIC3514は第1の16ビットカウンタ回路のカウント値をラッチする。
CPU304のアドレス出力に応じて、アドレスデコーダ3510のチップセレクト信号XICS_01がカウンタIC3514のGAL端子に入力されると、カウンタIC3514は第1の16ビットカウンタ回路のカウント値のうちの下位8ビットを選択し、CPU304のデータバスにこの下位8ビットのカウント値を出力する。
また、アドレスデコーダ3510のチップセレクト信号がチップセレクト信号XICS_02がカウンタIC3514のGAU端子に入力されると、カウンタIC3514は第1の16ビットカウンタ回路のカウント値のうちの上位8ビットを選択し、CPU304のデータバスにこの上位8ビットのカウント値を出力する。
第2の始動口(128)に球が入賞したことを検出する第2の球検出スイッチが球が入賞したことを示す信号(START2)を出力した場合は、カウンタIC3514は第2の16ビットカウンタ回路のカウント値をラッチする。そして上記同様に、アドレスデコーダ3510のチップセレクト信号XICS_03、およびXICS_04が、カウンタIC3514のGBL端子、GBU端子を選択することにより、第2の16ビットカウンタ回路のカウント値の下位8ビット、または第2の16ビットカウンタ回路のカウント値の上位8ビットがデータバスに出力される。
以上のようにしてカウンタIC3514が発生した乱数データがデータバスを介してCPU304により取り込まれ、遊技制御に用いられる。
<アドレスデコーダ>
さて、図12〜図14を参照して、図9に示したアドレスデコーダの具体的な構成につき詳述する。
図12は、アドレスデコード回路350に用いられる本実施例のアドレスデコーダ3510の内部構成例を示している。
図7のアドレスデコーダ3510は、イネーブル入力G1、G2A、G2Bの状態に応じて、A0〜A7の8ビットの入力端子から入力されたアドレスから11本のCS(チップセレクト)信号1Y0〜1Y5、CS(同)信号2Y0〜2Y4、を出力するよう構成されている。
イネーブル入力G1、G2A、G2B(ローレベル能動)には、たとえば、CPU304のI/OリクエストXIORQ、ライト信号XWR、およびリード信号XRDを入力して用いる。
イネーブル入力G1、G2A、G2Bのうち、イネーブル入力G1は、アドレスデコード動作全体を能動化する。また、イネーブル入力G2A、G2Bは、2系統のCS信号1Y0〜1Y5、およびCS信号2Y0〜2Y4をそれぞれ能動化する。
アドレスデコーダ3510は、CS信号1Y0〜1Y5、およびCS信号2Y0〜2Y4をそれぞれ生成するCS信号出力判定回路として、11個のゲート回路3510c、3510dを含む(反転論理和)。
11本の出力デバイスを選択するチップセレクトをデコードするには、下位の3ビットのアドレス入力A0〜A2を用いる。このアドレスは、2系統のゲート回路3510c、3510dで共通であり、あるアドレスデータを用いて2系統のCS信号1Y0〜1Y5、CS信号2Y0〜2Y4のどの端子からCS信号を出力させるかは、イネーブル入力G2A、またはG2Bのいずれかを動能とするかによって選択する。
このため、イネーブル信号G2A、またはG2Bは、それぞれ2系統のゲート回路3510c、または3510dの各々のゲートの入力に共通に結線されている。
アドレス入力A0〜A2のアドレス信号線は、図示のようにインバータ3510a、3510bを用いて入力がLOWの場合にオンとなる第1の信号線およびHIGHの場合にオンとなる第2の信号線の2本にそれぞれ分岐させ、ゲート回路3510c、3510dに結線してある。
アドレス信号A0〜A2のゲート回路3510c、3510dに対する結線は特定のビットパターンによって、特定のCS信号1Y0〜1Y5、およびCS信号2Y0〜2Y4のいずれかが有効となるよう行なわれている。上記のように、2系統のゲート回路3510c、3510dは同じアドレスデータでセレクトされるように結線されている。たとえば、CS信号1Y0と2Y0を制御する2つのゲート回路のアドレス線の結線は全く同じであり、同じアドレス値によりセレクトされる。
ただし、CS信号出力判定回路として設けた11個のゲート回路3510c、3510dは、いずれもゲート回路3510eがハイレベルを出力しない限り、ローレベル能動のチップセレクト信号を出力しないように結線されている。ゲート回路3510eは、入力側に反転回路を含むゲート回路として構成され、上位アドレスA3〜A7、およびイネーブル入力G1が全てローレベル(ゼロ)でない限り、ハイレベルを出力しない。
すなわち、CS信号出力判定回路として設けた11個のゲート回路3510c、3510dは、上位アドレスA3〜A7がオールゼロの状態で、イネーブル入力G1によりイネーブルされた場合のみ、下位アドレスA0〜A2として入力された値をデコードしてローレベル能動のCS信号1Y0〜1Y5、2Y0〜2Y4を出力する。
しかも、このとき、イネーブル(ストローブ)信号G2A、および(または)G2Bにより選択された系統のゲート回路3510cおよび(または)3510dからCS信号1Y0〜1Y5、2Y0〜2Y4のいずれかが出力される(同時出力可)。
以上の図12の構成に対応する入出力論理値の関係を図13に真理値表として示す。
図13は、図12のアドレスデコーダ3510のイネーブル信号G1、G2A、およびG2B、アドレス入力A0〜A7、チップセレクト信号出力1Y0〜1Y5、2Y0〜2Y4の各信号の入出力論理値の関係をA〜Dの参照符号を用いて4つに分けて図示している。
部分Aのうち、上の2行は、非イネーブルの状態を示している。すなわちイネーブル信号G1がH(ハイレベル)である場合は、他の入力信号がどうあれ、アドレスデコーダ3510のチップセレクト出力は全てH(チップセレクト無効)状態となる(1行目)。また、アドレスデコーダ3510にチップセレクト出力を行なわせるには、イネーブル信号G1だけではなく、2系統のチップセレクト出力を選択するためのストローブ信号として機能するイネーブル信号G2A、またはG2Bの少なくともいずれかがL(ローレベル)である必要があるが、イネーブル(ストローブ)信号G2A、またはG2BのいずれもがHの場合は、チップセレクト出力は全てH(チップセレクト無効)状態となる(2行目)。
部分Aの残りの部分では、イネーブル信号G1がローレベルであり、しかもイネーブル信号G2A、およびG2Bが両方ともローレベルにより2系統のイネーブル出力をストローブした状態を示しており、この部分では、破線で囲んで示したように入力アドレス値A0〜A7に対応したチップセレクト信号出力1Y0〜1Y5、および2Y0〜2Y4のいずれか1つがローレベルの有効出力となる。ただし、入力アドレス値A0〜A7(特にA0〜A2)がオーバーフローする部分、すなわち、チップセレクト信号出力1Y0〜1Y5に関しては下2行の部分、およびチップセレクト信号出力2Y0〜2Y4に関しては下3行の部分はハイレベルの無効出力となる。
部分Aに示したように、アドレスデコーダ3510は、イネーブル信号G2A、およびG2Bが両方ともローレベルにより2系統のイネーブル出力をストローブした状態では、入力アドレス値A0〜A7が共通に用いられ、2系統のイネーブル出力端子からそれぞれ1つのチップセレクト信号が出力される。
部分Bは、イネーブル信号G1がローレベルであり、イネーブル信号G2Aがハイレベル、かつイネーブル信号G2Bがローレベルとなっており、チップセレクト信号出力2Y0〜2Y4のみがイネーブルされた状態である。ここでは、破線で囲んで示したように入力アドレス値A0〜A7に対応したチップセレクト信号出力2Y0〜2Y4のいずれか1つがローレベルの有効出力となる。また、下3行のように入力アドレス値A0〜A7(特にA0〜A2)がオーバーフローする部分では、チップセレクト信号出力2Y0〜2Y4はハイレベルの無効出力となる。
部分Cは、イネーブル信号G1がローレベルであり、イネーブル信号G2Bがハイレベル、かつイネーブル信号G2Aがローレベルとなっており、チップセレクト信号出力1Y0〜1Y5のみがイネーブルされた状態である。ここでは、破線で囲んで示したように入力アドレス値A0〜A7に対応したチップセレクト信号出力1Y0〜1Y5のいずれか1つがローレベルの有効出力となる。また、下2行のように入力アドレス値A0〜A7(特にA0〜A2)がオーバーフローする部分では、チップセレクト信号出力1Y0〜1Y5はハイレベルの無効出力となる。
部分Dは図12のゲート回路3510eに入力されている上位アドレスA3〜A7のいずれか(少なくとも1つ)がハイレベル(1)となっている状態を示しており、この場合は、ゲート回路3510eが全てのチップセレクト信号出力1Y0〜1Y5、および2Y0〜2Y4がローレベルの有効出力となるのを禁止する。ここでは、チップセレクト信号出力1Y0〜1Y5、および2Y0〜2Y4は全てハイレベル出力となる。
以上のように、図12のアドレスデコーダ3510は、上位アドレスA3〜A7がオールゼロで、イネーブル入力G1(ローレベル能動)によりイネーブルされた時のみ、下位アドレスA0〜A2をデコードし、ストローブ入力G2A、および(または)G2Bで指定された系統のチップセレクト信号出力1Y0〜1Y5、および(または)2Y0〜2Y4から有効なチップセレクト信号を出力する。
いいかえれば、図12のアドレスデコーダ3510は、所定本数(ここでは11本)のチップセレクト出力状態を確定するのに必要な本数以上のアドレス入力を有する、すなわち、出力端子の本数がアドレスデータの全てのビットパターンをデコードして得られる総数よりも少ないが、入力された下位のアドレスデータでチップセレクト出力状態を決定するに際して、
・出力端子をアドレスするのに必要な第1のアドレス入力端子群(A0〜A2)とそれ以外の第2のアドレス入力端子群(A3〜A7)を有し、第2のアドレス入力端子群および、イネーブル入力信号線(G1、G2Aおよび(または)G2B)との論理積が特定の値である場合のみ、第1のアドレス入力端子群が示すバイナリー値(アドレス)をデコードし、バイナリー値に対応する出力端子(1Y0〜1Y5、2Y0〜2Y4)のいずれかからチップセレクト信号を出力する
よう構成されている。
このアドレスデコーダの動作は、次のようにいいかえることもできる:
・アドレスが特定のアドレス値よりも小さい場合(本例では2進数で00001000よりも小さい場合)に、アドレスに対応するチップセレクト信号を出力する、あるいは
・アドレスが特定のアドレス範囲外の場合(本例では2進数で00001000以上である場合)に、イネーブルがオフの場合と同一の出力状態にする
ような動作である(ただし、図13の部分A、B、Cの下部のようにA0〜A2のアドレス値がオーバーフローしている場合も同様にイネーブルがオフの場合と同一の出力状態となる)。
すなわち、図12のアドレスデコーダ3510は、所定本数のチップセレクト出力状態を確定するのに必要な本数以上のアドレス入力を有するが、このアドレス入力をフルデコードするように構成されている。
図12に示すように構成したアドレスデコーダを用いることにより、フルビット指定された正規のアドレスデータが用いられた場合のみアドレスデータに対応する入出力制御を行うことができ、不正なアドレスデータが発生された場合には、アドレスに対応する入出力制御を禁止することができるので、機器を構成する周辺デバイスに対する不正な入出力制御を未然に防止することができる。
特に、本実施例の特徴は遊技台を構成する入出力手段としての周辺デバイスをアドレスデコーダを介して指定し、前記周辺デバイスの動作を制御する遊技台、および該遊技台に用いられる遊技台用アドレスデコーダにおいて、前記アドレスデコーダとして、所定ビット数のアドレスデータを入力する入力端子と、前記所定ビット数のアドレスデータの全てのビットパターンをデコードして得られる総数よりも少ない本数の出力端子と、イネーブル入力端子とを有し、前記入力端子から入力されたアドレスデータをデコードすることによりアドレスされる前記出力端子の1つから有効なチップセレクト信号を出力する、1パッケージICに実装されたアドレスデコーダであって、前記入力端子のうち、前記有効なチップセレクト信号を出力すべき出力端子をアドレスするのに必要な第1の入力端子群から入力されるアドレスデータをデコードし、チップセレクト信号を生成する信号出力判定回路と、前記有効なチップセレクト信号を出力すべき出力端子を選択するストローブ信号を入力するストローブ入力端子と、イネーブル入力端子からイネーブル信号が入力された時、前記第1の入力端子群以外の第2の入力端子群から入力されるアドレスデータが特定のアドレス範囲にある場合のみ、前記ストローブ入力端子から入力されたストローブ信号により選択された出力端子に対応する前記信号出力判定回路のデコード動作を有効化するゲート回路を有する構成を採用した点にある。
このような構成により、本実施例によれば、前記第1の入力端子群以外の第2の入力端子群から入力されるアドレスデータが特定のアドレス範囲にある正規のアドレスデータが用いられた場合のみアドレスデータに対応するチップセレクトを発生させて入出力制御を行うことができ、それ以外の不正なアドレスデータが発生された場合には、アドレスに対応する入出力制御を禁止することができるので、不正な、あるいは未定義のアドレスを発生させて行なう不正行為に対する強度を大きく向上することができ、機器を構成する周辺デバイスを操作する不正行為を防止することができる、という優れた作用効果を得ることができる。
また、前記アドレスデコーダに、有効なチップセレクト信号を出力すべき出力端子を選択するストローブ信号を入力するストローブ入力端子を設けることにより、たとえば、ライトストローブ信号、およびリードストローブ信号を用いて出力系、および入力系の周辺デバイスをそれぞれ選択することができ、1パッケージICに実装されたアドレスデコーダを用いた簡単安価な構成により、遊技台の周辺デバイスに対する入出力を制御することができる、という優れた作用効果を得ることができる。
なお、上述の図10および図11に関連して、アドレスデコーダおよびアドレスデコード回路を介してアクセスされる遊技台の周辺デバイスとして、出力系では遊技ランプ、7セグメント表示器など、入力系ではスタートセンサや乱数発生回路などを例示した。
しかしながら、図10および図11ではあくまでも一部の周辺デバイスを例示しているにすぎず、アドレスデコーダおよびアドレスデコード回路を介してアクセスされる遊技台の入出力系の周辺デバイスには、もちろん図4の他の周辺デバイス(操作ハンドル148、発射モータ452、球送り装置454、払出装置154など)が含まれていてよい。
このようにアドレスデコーダを介してアクセスされる外部に信号を出力する周辺デバイスとして、少なくとも表示装置、ないし遊技台の駆動部を含み、また、前記外部からの信号を入力する周辺デバイスが少なくともユーザの操作手段、ないし遊技制御に用いられる乱数を発生する乱数発生回路を含んでいれば、殆どの不正操作を抑止することができる。このような構成により、通常は不可能な操作状態、表示状態、遊技媒体のカウント状態や払い出し状態を生成したり、遊技台の制御状態を決定する確率変動を操作することなどにより行われる不正行為を抑止することができる。
すなわち、上記の各周辺デバイス、あるいはさらにこれら以外の周辺デバイスも含め、上記のように構成したアドレスデコーダおよびアドレスデコード回路を介してアクセスするよう遊技台を構成することにより、不正な、あるいは未定義のアドレスを発生させて行なう不正行為に対する遊技台の強度を大きく向上することができる。
ここで、図14に、図12および図13のアドレスデコーダを1チップのICにパッケージ化する場合のピンアサイン(ピン配置)の例を示しておく。
図14のパッケージは、24ピンのデュアルインライン配置構成であり、片側(ピン1〜12)にアドレス入出力A0〜A7(ピン1〜8)、イネーブルG1、イネーブル(ストローブ)G2A、G2B(ピン9、10、11)、GND(ピン12)を配置している。また、もう一方の側(ピン13〜24)には、電源端子Vcc(ピン24)、ピン23〜13にかけて逆順でチップセレクト出力1Y0〜1Y5、および2Y0〜2Y4を配置している。
なお、図14に示したピン配列はあくまでも一例であり、回路基板上の配置の都合などにより他のピン配列を用いてもよいのはいうまでもない。たとえば電源入力端子のVccは、上記と逆のアドレス入力端子側(ピン1〜12側)に配置してもよい。また、他の回路をパッケージに内蔵するなどしてピン数が増えているが、アドレス入力端子とチップセレクト出力端子を別の側に配置できないような条件では、アドレス入力端子とチップセレクト出力端子を一部パッケージの同じ側に配列するようにしてもよい。
以上の実施例では、遊技台の構成例としてパチンコ機の構成を例示したが、上述のように構成されたアドレスデコーダは、他のスロットマシン(パチスロ機)などの遊技台にも用いることができ、その場合、アドレスデコーダ廻りの入出力制御回路も、上述の構成を適宜アレンジして実施できるのはいうまでもない。
以上の実施例では、アドレスデコーダチップには、アドレスデコードに必要な構成のみを実装する例を示したが、水晶発振器、フリップフロップ、ラッチ、乱数発生カウンタ、レギュレータ、ノイズフィルタ、リセット回路など、回路構成上、必要、あるいは便利と考えられるような他の回路を含めて1チップ化してもよい。
また、上記実施例では、アドレスデコーダチップにイネーブルないしストローブ端子として、G1、G2A、G2Bの3本を設け、イネーブル信号にはXIORQを、ストローブ信号としてはXRD、XWRなどの信号を用い、これらのイネーブル/ストローブ信号の入力をイネーブル条件としているが、少なくとも1つのイネーブル信号のみを用いる構成であれば上記と同等の効果を期待できるのはいうまでもない。