以下、図面を用いて、本発明の実施例1に係るパチンコ機(遊技台)について詳細に説明する。
まず、図1を用いて、本発明の実施例1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
パチンコ機100は、ガラス製または樹脂製の透明板部材152および透明部材保持枠154からなるガラス枠156の奥側に、その透明板部材152を通して視認可能に配設した後述する遊技盤(盤面)102を備えている。この遊技盤102は、外枠101に対して開閉自在に設けられた内枠103に取り付けられている。また、ガラス枠156上部の左右には高音スピーカが設けられているとともに、ガラス枠156の様々な所には白色LED(枠側照明白色LED)が設けられている。これらの白色LEDは、基板にLEDが実装されたものであり、枠側照明白色LEDが実装された基板全体を枠側照明基板白色LEDと称することがある。なお、いずれも図示省略したが、パチンコ機100には、ガラス枠156が開放したことを検知するガラス枠開放センサや、内枠103が開放したことを検知する内枠開放センサが設けられている。
ガラス枠156の下方には、後述する発射モータ602によって回動する発射杆138と、この発射杆138の先端部に取り付けて球を後述する遊技領域104に向けて打ち出す発射槌140と、この発射槌140によって打ち出す球を後述する外レール106に導くための発射レール142と、球を一時的に貯留すると共に、貯留している球を順次、発射レール142に供給するための貯留皿144と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に後述する装飾図柄表示装置110等による演出表示を変化させるための演出ボタン146を配設している。この演出ボタン146はチャンスボタンと呼ばれることがありLEDが内蔵されている。
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。貯留皿144と下皿150を結ぶ内部経路の下皿近傍には、不図示の下皿満タンセンサが設けられている。下皿満タンセンサはスイッチ部を有し、下皿150が満杯になると、そのスイッチ部が球によって押され、下皿満タンセンサから下皿満タンエラーが出力される。
さらに、図1に示す下皿150の左横には不図示の低音スピーカからの音が放たれる放音部が設けられている。
図2は、パチンコ機100を背面側から見た外観斜視図である。
パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク151と、この球タンク151の下方に位置し、球タンク151の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置552に導くためのタンクレール153とを配設している。
払出装置552は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158とを備えている。
スプロケット157は、モータによって回転可能に構成されており、タンクレール153を通過して払出装置552内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置552の下方へ1個ずつ送り出すように構成している。
払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
図2に示す球タンク151の右側には、後述するインタフェース部556等を構成する外部端子板155が配設されている。この外部端子板155は、不図示のホールコンピュータに向けて情報を送信したり、ホールコンピュータから送信されてきた情報を受信したりするものである。外部端子板155には、遊技盤102との中継を行う盤用外部端子板と、後述する払出制御部550との中継を行う枠用外部端子板が含まれる。
払出装置552の左側には、後述する主制御部300を構成する主基板161と、後述する副制御部400を構成するサブ基板164とを配設している。また、これら主基板161やサブ基板164の下方には、後述する発射制御部600を構成する発射基板166と、後述する電源管理部650を構成する電源基板162と、後述する払出制御部550を構成する払出基板165と、この払出基板165に接続したCRインターフェース部163とを配設している。電源基板162には、電源スイッチ1621、リセットスイッチ1622、およびRAMクリアスイッチ1623が設けられている。図2に示す電源スイッチ1621は、このパチンコ機100の主電源操作子である。また、後述するように、このパチンコ機100には起動信号出力回路(リセット信号出力回路)338(図5参照)が設けられている。この起動信号出力回路(リセット信号出力回路)338は、電源が投入されると起動信号(リセット信号)を出力する他、電源投入にかかわらず、図2に示すリセットスイッチ1622がオンされた場合にも起動信号(リセット信号)を出力する。RAMクリアスイッチ1623がオンされると、RAMクリア信号はオンになり、後述するように、主制御部300に設けられたRAM308の全ての記憶領域の初期化が行われる。さらに、主基板161やサブ基板164の上方には、後述する演出制御基板や演出拡張基板やLED基板等が組み込まれた演出制御部500が設けられている。
図3は、遊技盤102を正面から見た略示正面図である。
図3に示す遊技盤102は、上方および左右それぞれに設けられた不図示の盤面照明LEDによって照らされる。これらの盤面照明LEDは基板にLEDが実装されたものである。以下、盤面照明LEDが実装された基板全体を盤面照明基板LEDと称することがある。
また、この遊技盤102には、外レール106と内レール108とを配設し、遊技球(以下、単に「球」と称する場合がある。)が転動可能な遊技領域104を区画形成している。
遊技領域104の略中央には、演出装置200を配設している。この演出装置200には、略中央に横長の装飾図柄表示装置110を配設し、その周囲に、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留LED116と、特別図柄保留LED118と、高確中LED120を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
演出装置200は、可動部を動作して演出を行うものであり、詳細については後述する。
装飾図柄表示装置110は、装飾図柄(図6(b)参照)ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施例では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置110は、表示画面を、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cおよび演出表示領域110dの4つの表示領域に分割し、左図柄表示領域110a、中図柄表示領域110bおよび左図柄表示領域110cはそれぞれ異なった装飾図柄を表示し、演出表示領域110dは演出に用いる画像を表示する。さらに、各表示領域110a、110b、110c、110dの位置や大きさは、装飾図柄表示装置110の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置110は、液晶表示装置に代えて、ドットマトリクス表示装置、7セグメント表示装置、EL(ElectroLuminescence)表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
普図表示装置112は、普図(図6(c)参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。特図表示装置114は、特図(図6(a)参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。
普図保留LED116は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、普図変動遊技を2つまで保留することを可能としている。特図保留LED118は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、特図変動遊技を4つまで保留することを可能としている。これら4つの特図保留LED118のうち、図3に示す一番左端のLEDを特図保留第1LEDと称し、その隣のLEDを特図保留第2LEDと称することにする。特図保留第1LEDおよび特図保留第2LEDは、本発明にいう第2の遊技用部品の一例に相当する。高確中LED120は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
また、この演出装置200の周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。
一般入賞口122は、本実施例では遊技盤102に複数配設しており、この一般入賞口122への入球を図示省略した所定の球検出センサ(一般入賞口センサ)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置552を駆動し、所定の個数(本実施例では10個)の球を賞球として図1に示す貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。また、複数の一般入賞口122のうち、図3の左側に実線で表した1個の一般入賞口122を一般入賞口(左)、図3の下側に点線で表した3個の一般入賞口122を一般入賞口(下)と区別して称することがある。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
普図始動口124は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤102の左側に1つ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の球検出センサ(ゲートセンサ)が検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
第1特図始動口126は、本実施例では遊技盤102の中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサ(第1始動口センサ)が検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では3個)の球を賞球として図1に示す貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施例では第1特図始動口126の真下に1つだけ配設している。なお、この電動チューリップは、不図示のチューリップ照明LEDによって照らされる。チューリップ照明LEDは、基板にLEDが実装されたものであり、チューリップ照明LEDが実装された基板全体をチューリップ照明基板LEDと称することがある。この第2特図始動口128は、ソレノイドによって左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサ(第2始動口センサ)が検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では5個)の球を賞球として図1に示す貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
可変入賞口130は、大入賞口またはアタッカと呼ばれ、本実施例では遊技盤102の中央部下方に1つだけ配設している。この可変入賞口130は、ソレノイドによって開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130は、不図示のアタッカ照明LEDによって照らされる。アタッカ照明LEDは、基板にLEDが実装されたものであり、アタッカ照明LEDが実装された基板全体をアタッカ照明基板LEDと称することがある。可変入賞口130への入球を所定の球検出センサ(カウントセンサ)が検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では15球)の球を賞球として図1に示す貯留皿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の前面側には、可動人形211、ワープ装置230、および前面ステージ234を配設し、演出装置200の背面側には、装飾図柄表示装置110および遮蔽手段であるシャッタ可動物250を配設している。すなわち、演出装置200において、装飾図柄表示装置110およびシャッタ可動物250は、可動人形211、ワープ装置230および前面ステージ234の後方に位置することとなる。なお、この前面ステージ234は、不図示のステージ照明LEDによって照らされる。ステージ照明LEDは、基板にLEDが実装されたものであり、ステージ照明LEDが実装された基板全体をステージ照明基板LEDと称することがある。
可動人形211は、笠または手ぬぐいを頭に被った地蔵を模した人形であり、本実施例では、正面から見て装飾図柄表示装置110の下部近傍に5体を左から右へ水平方向に並べて配設している。これらの可動人形211は待機位置と突出位置との間を回転しながら昇降する。すなわち、可動人形211は、遊技者から視認不可能となる待機位置から、遊技者から視認可能となる上方の突出位置まで回転しながら突出する。図3に示す5体の可動人形211はいずれも、その突出位置まで突出した状態である。この突出位置において、可動人形211は、後方の装飾図柄表示装置110の一部の表示を遊技者から視認し難いように遮蔽するようにしている。
ここで、図4も参照して、可動人形211についてさらに詳しく説明する。図4(a)は、可動人形211が待機位置にいる場合を示す側面図であり、図4(b)は、可動人形211が突出位置にいる場合を示す側面図である。図4に示す可動人形211は、回転装置214によって回転しながらソレノイド212により上下方向に移動する。同図に示すように、可動人形211は、ソレノイド212を励磁することで上方の突出位置に移動し、ソレノイド212の励磁を解くとバネ213により待機位置に戻るようになっている。上述のごとく本実施例では5体の可動人形211が設けられており、一つの可動人形211に対して一つのソレノイド212が設けられている。すなわち、5つのソレノイド212が設けられており、以下の説明では、これら5つのソレノイド212のことを、図3の左端に位置する可動人形211を動かすソレノイドから右端に位置する可動人形211を動かすソレノイドに向けて順に、地蔵ソレノイド1、地蔵ソレノイド2・・・、地蔵ソレノイド5と称することがある。地蔵ソレノイド1〜5それぞれは、状態信号を受けて、励磁状態と非励磁状態を切り替える。地蔵ソレノイド1〜5は、本発明にいう第一の遊技用部品の一例に相当する。なお、可動人形211は、ソレノイド212以外の手段により駆動するものであってもよい。また、可動人形211の前方には透明のカバー206が配設されており、これにより、可動人形211の動作範囲内に遊技球が入り込むのを防いでいる。
図3に示すワープ装置230は、演出装置200の左上方に設けた入球口232に入った遊技球を演出装置200の前面下方の前面ステージ234に排出し、さらに、前面ステージ234に排出した遊技球が前面ステージ234の中央部後方に設けた第2の入球口236に入った場合は、遊技球を、第1特図始動口126の上方である演出装置200の下部中央に設けた排出口238から第1特図始動口126に向けて排出するものである。この排出口238から排出した遊技球は第1特図始動口126に入球しやすくなっている。
図5(a)および(b)は、シャッタ可動物250の正面図および側断面図である。
シャッタ可動物250は、格子状の左シャッタ250aおよび右シャッタ250bを備え、装飾図柄表示装置110および前面ステージ234(図3参照)の間に配設されている。また、演出装置200は、遊技盤102の背面に固定された透明樹脂製のブラケット204を備えている。左シャッタ250aおよび右シャッタ250bの上部には、2つのプーリ252に巻き回したベルト254をそれぞれ固定している。すなわち、左シャッタ250aおよび右シャッタ250bは、ステッピングモータ256によりプーリ252を介して駆動するベルト254の動作に伴って左右にそれぞれ移動する。シャッタ可動物250は、左右シャッタ250a、250bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置110を視認し難いように遮蔽する。また、ブラケット204には、閉じた状態の左右シャッタ250a、250bそれぞれが開いていくとやがて、左シャッタ250aの左端および右シャッタ250bの右端それぞれが当接するストッパ部2041が設けられている。左右シャッタ250a、250bそれぞれは、各ストッパ部2041に当接すると、それ以上は開くことができず、各ストッパ部2041はメカエンドになる。さらに、ストッパ部2041に当接する直前の左シャッタ250aを検知する左シャッタセンサ2501と、ストッパ部2041に当接する直前の右シャッタ250bを検知する右シャッタセンサ2502が設けられている。すなわち、左右シャッタセンサ2501,2502は、ストッパ部2041に当接する直前の所定位置(以下、開検知位置と称する)に到達した左右シャッタ250a、250bそれぞれを検知するものである。なお、右シャッタセンサ2501および左シャッタセンサ2502はフォトインタラプタ等の光センサである。左右シャッタ250a、250bが上記開検知位置に到達した状態ではそれぞれの内側端部が装飾図柄表示装置110の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置110の表示の全てを視認可能である。また、左右シャッタ250a、250bそれぞれは、閉じた状態の位置と上記開検知位置都の間では任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左右シャッタ250a、250bは、格子の孔から後方の装飾図柄表示装置110の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置110による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置110を全く視認不可にしてもよい。
<図柄の種類>
次に、図6(a)〜(c)を用いて、パチンコ機100の特図表示装置114、装飾図柄表示装置110、普図表示装置112が停止表示する特図および普図の種類について説明する。
図6(a)は特図の停止表示態様の一例を示したものである。本実施例の特図の停止表示態様には、大当たり図柄である「特図1」と、特別大当たり図柄である「特図2」と、外れ図柄である「特図3」の3種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置114は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図の変動表示」を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技の当選を報知する場合には「特図1」または「特図2」を停止表示し、特図変動遊技の外れを報知する場合には「特図3」を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
図6(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に大当たりに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
本実施例のパチンコ機100では、後述するように、特図変動遊技における大当たりか否かの決定はハードウェア乱数の抽選によって行い、特別大当たり(確変大当たり)か否かの決定はソフトウェア乱数の抽選によって行う。
図6(c)は普図の停止表示態様の一例を示したものである。本実施例の普図の停止表示態様には、当たり図柄である「普図1」と、外れ図柄である「普図2」の2種類がある。普図始動口124を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置112は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図1」を停止表示し、普図変動遊技の外れを報知する場合には「普図2」を停止表示する。
本実施例のパチンコ機100では、後述するように、普図表示遊技における当たりか否かの決定はソウフトウェア乱数の抽選によって行う。
<制御部>
次に、図7を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
パチンコ機100は工場で複数の遊技用部から組み立てられ、それら複数の遊技用部品のうち特定の遊技用部品が正常か否かの検査を行った後、出荷される。工場出荷後におけるパチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に演出の制御を行う副制御部400と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部550と、遊技球の発射制御を行う発射制御部600と、パチンコ機100に供給される電源を制御する電源管理部650によって構成されている。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するための遊技制御用ROM306と、一時的にデータを記憶するためのRAM(RWM)308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312と、プログラム処理の異常を監視するWDT313を搭載している。図7に示す遊技制御用ROM306には、工場出荷前に特定の遊技用部品が正常か否かを検査する出荷前検査処理以外の非検査処理についてのプログラムやデータが記憶されている。ここにいう非検査処理には、初期設定処理や遊技処理等が含まれる。初期設定処理は、電源投入に基づいて実行される処理であり、この初期設定処理では、電源が投入されたことを表す電源投入コマンド等が出力される。このように、初期設定処理は、電源投入に基づいて実行される処理であるため、出荷前検査処理が行われる前にも実行される。また、遊技処理は、遊技中に実行される処理であり、パチンコ機100が、工場から出荷され遊技店に設置された状態で実行される処理である。なお、遊技制御用ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する副制御部400についても同様である。この基本回路302のCPU304は、水晶発振器314bが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路302には、水晶発振器314aが出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路316(この回路には2つのカウンタを内臓しているものとする)と、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ318(但し、図5に示す左右シャッタセンサ2501,2502は含まれない)が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路316および基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留LED116、特図保留LED118、高確中LED118等)の表示制御を行うための表示回路328と、第2特図始動口128や可変入賞口130等を開閉駆動する各種ソレノイド330(但し、図4に示す可動人形211を昇降させるソレノイド212は含まれない)を制御するためのソレノイド回路332を接続している。
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部の遊技店コンピュータ(図示省略)等が備える情報入力回路652にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
また、主制御部300には、電源管理部650から主制御部300に供給している電源の電圧値を監視する電圧監視回路336を設けており、この電圧監視回路336は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。
また、主制御部300には、上述したように、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けており、CPU304は、この起動信号出力回路338から起動信号を入力した場合に、後述する主制御部メイン処理を開始する。
また、主制御部300は、副制御部400にコマンドを送信するための出力インタフェースと、払出制御部550にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部400および払出制御部550との通信を可能としている。なお、主制御部300と副制御部400および払出制御部550との情報通信は一方向の通信であり、主制御部300は副制御部400および払出制御部550にコマンド等の信号を送信できるように構成しているが、副制御部400および払出制御部550からは主制御部300にコマンド等の信号を送信できないように構成している。
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部550、発射制御部600、電源管理部650について説明する。
払出制御部550は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置552を制御すると共に、払出センサ554が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部556を介して、パチンコ機100とは別体で設けられたカードユニット654、あるいは不図示のホールコンピュータとの通信を行う。
発射制御部600は、払出制御部550が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ602の制御や、貯留皿144から発射レール142に球を供給する球送り装置604の制御を行う。
電源管理部650は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、および払出装置552等の各装置に供給する。なお、後述するように、副制御部400や演出制御部700には電源管理部650から直接は電力供給されない。さらに、電源管理部650は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。
<副制御部>
次に、図8を用いて、パチンコ機100の副制御部400について説明する。同図は、副制御部400等の回路ブロック図を示したものである。
副制御部400は、主に主制御部300が送信したコマンド等に基づいて副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、一時的にデータを記憶するためのRAM(RWM)408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412と、プログラム処理の異常を監視するWDT413を搭載している。この基本回路402のCPU404は、水晶発振器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。また、基本回路402には、P−ROM(Programable−Read Only Memory)406が接続されている。このP−ROM406には、上記出荷前検査処理の検査プログラムが記憶されている。この出荷前検査処理の検査プログラムは工場出荷後には使用されないが、P−ROM406にその検査プログラムを記憶したままの状態でパチンコ機100は出荷される。
さらに、基本回路402には、音源IC418、モータ制御回路420、センサ出力回路421、VDP(Vedeo Display Processor)425、役物駆動回路426、演出ボタン146(図1参照)、および演出ボタン用LED417も接続している。音源IC418は、水晶発振器419が出力する所定周期のクロック信号をシステムクロックとして動作するものであり、音声や楽曲等のデータを記憶したサウンドROM(S−ROM)を備えている。この音源IC418は、高音スピーカや低音スピーカ等のスピーカ416(およびアンプ)の制御を行うためのものである。モータ制御回路420は、図5に示すシャッタ可動物250のステッピングモータ256の制御を行うためのものである。センサ出力回路421は、図5に示す左右シャッタセンサ2501,2502からの検知結果を基本回路402に伝えるためのものである。VDP425は、水晶発振器424が出力する所定周期のクロック信号をシステムクロックとして動作するものであり、コンピュータグラフィックROM(C−ROM)を備えている。このVDP425は、図3に示す装飾図柄表示装置(液晶表示装置)110の制御を行うためのものである。ここで、CPU404が装飾図柄表示装置110に画像を表示するための流れを詳述する。CPU404は、主制御部300からのコマンドを受信した場合に、受信したコマンドに画像を表示する命令が含まれている場合は、VDP425に設けられた図示しないRAM(以下、VRAM)に対して、C−ROMに記憶された画像データを転送する。そして、転送した画像データをVRAMのうち、装飾図柄表示装置に出力するための記憶領域(以下、表示領域)に記憶させる。VDP425は、所定のタイミング毎に装飾図柄表示装置110に対して、表示領域に記憶された画像データを出力することで、装飾図柄表示装置110は、画像データを表示することができる。なお、CPU404は、VDP425に、C−ROMに記憶された表示予定の画像データを前もってVRAMの表示領域以外の所定の領域に転送するように命令し、所定の表示タイミングとなった場合にCPU404はVDPに対して、表示領域以外の所定の領域に記憶された画像データを表示領域に記憶させるように命令をしてもよい。VRAMの表示領域以外の画像データをVRAMの表示領域に記憶させることにかかる時間は、C−ROMに記憶された画像データをV−RAMに転送させるよりも時間が短いため、V−RAMに予め転送しておくことで、転送の際の処理時間を分散できる場合がある。役物駆動回路426は、センタ可動物210(図4に示す可動人形211)を駆動するためのソレノイド212(地蔵ソレノイド1〜5)等の駆動制御を行うためのものである。地蔵ソレノイド1〜5それぞれは、この役物駆動回路426からの動作信号を受けて、励磁状態と非励磁状態を切り替える。
副制御部400は、装飾図柄表示装置110による演出や、シャッタ可動物250による演出や、可動人形211による演出や、スピーカ416から発せられる音による演出を制御する。副制御部400の基本回路402は、VDP425に対して演出画像設定情報を送る。また、基本回路402は、モータ制御回路420に対して、左右シャッタ250a,250bそれぞれを可動させる情報を送る。さらに、その基本回路402は、役物駆動回路426に対して、5体の可動人形211をどのように可動させるか等の情報を送る。また、基本回路402は、音源IC418に対してスピーカ416の音出力設定情報を送る。
<演出制御部>
次に、図8を用いて、パチンコ機100の演出制御部700について説明する。
副制御部400と演出制御部700の情報通信は双方向の通信(相互通信)が可能である。演出制御部700は、副制御部400が送信したコマンド等に基づいて、LED423等のランプに関する演出を主として制御する基本回路702を備えている。この基本回路702には、演出拡張基板750を介してLED基板760が接続されている。演出制御部700、演出拡張基板750、およびLED基板760間はそれぞれシリアル通信で情報が送信される。このため、演出制御部700にはシリアル通信制御回路701が設けられているとともに、演出拡張基板750およびLED基板760それぞれにはシリアル通信駆動回路751,761が設けられている。演出制御部700は、演出拡張基板750を介してLED基板760に、各種のLED423の点灯パターン設定情報を送信する。LED基板760は、この情報を受けてLED423の点灯を制御する。
演出制御部700の基本回路702も、副制御部400の基本回路402と同じく、CPU704、一時的にデータを記憶するためのRAM(RWM)708、各種デバイスの入出力を制御するためのI/O710、時間や回数等を計測するためのカウンタタイマ712、およびプログラム処理の異常を監視するWDT713を搭載している。この基本回路702のCPU704は、水晶発振器714が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。また、演出制御部700の基本回路702にも、副制御部400の基本回路402と同じく、P−ROM706が接続されている。このP−ROM706にも、上記出荷前検査処理の検査プログラムが記憶されている。この出荷前検査処理の検査プログラムは工場出荷後には使用されないが、P−ROM706にその検査プログラムを記憶したままの状態でパチンコ機100は出荷される。
また、電源管理部650は、直流電力を演出拡張基板750に供給する。電源管理部650から電力を供給された演出拡張基板750は、演出制御部700に電力を供給し、さらに、その演出制御部700は、副制御部400に電力を供給する。
<主制御部メイン処理>
次に、図9を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
上述したように、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割り込みによりリセットスタートして遊技制御用ROM306に予め記憶している制御プログラムに従って図9に示す主制御部メイン処理を実行する。
ステップ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に進む。なお、電源が投入された直後で未だ上記所定の値(9V)に達しない場合にもステップS102に戻り、供給電圧がその所定の値以上になるまで、ステップS103は繰り返し実行される。
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
ステップS105では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)には初期化処理(ステップS107)に進む。
具体的には、最初に、図2に示す電源基板162に設けたRAMクリアスイッチ1623を遊技店の店員などが操作した場合に送信される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内の所定の)命令の次の命令から処理を再開する。また、図7に示す主制御部300における基本回路302に搭載されているRAM308には、送信情報記憶領域が設けられている。このステップS106では、その送信情報記憶領域に、0EHを復電コマンドとしてセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部300のタイマ割り込み処理におけるステップS215において、副制御部400へ送信される。
ステップS107では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。さらにここで、主制御部300のRAM308に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部300の初期化処理(ステップS107)が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部300のタイマ割り込み処理におけるステップS215において、副制御部400へ送信される。
ステップS108では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS109に進む。
ステップS109では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS108およびS109の処理を繰り返し実行する。
<主制御部タイマ割り込み処理>
次に、図10を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
主制御部300は、所定の周期(本実施例では約2msに1回)でタイマ割り込み信号を発生するカウンタ・タイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
ステップS201では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS202では、WDT313のカウント値が初期設定値(本実施例では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施例では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。
ステップS203では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、ガラス枠開放センサ、内枠開放センサ、下皿満タンセンサ、複数の球検出センサを含む各種センサ318(但し、図5に示す左右シャッタセンサ2501,2502は含まれない)の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、本実施例では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
また、ステップS203では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定する。そして、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)への入球、または普図始動口124の通過があったと判定する。例えば、一般入賞口122への入球を検出する球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口122へ入球したと判定し、以降の一般入賞口122への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口122への入球に伴う処理を行わずに後続の処理に分岐する。
ステップS204およびステップS205では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS108で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する普図当選乱数値および特図乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。
ステップS206では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
ステップS207では、タイマ更新処理を行う。詳細は後述するが、このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS208では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
また、ステップS209では、入賞受付処理を行う。この入賞受付処理では、第1、第2特図始動口126、128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、入賞した始動口に対応するカウンタ回路316のカウンタ値記憶用レジスタから値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。また、普図始動口124を球が通過したことを検出し、且つ、保留している普図変動遊技の数が2未満の場合には、そのタイミングにおける普図当選乱数値生成用の乱数カウンタの値を普図当選乱数値として取得し、RAM308に設けた上述の特図用とは別の乱数値記憶領域に記憶する。また、この入賞受付処理では、所定の球検出センサにより第1、第2特図始動口126、128、普図始動口124、または可変入賞口の入賞(入球)を検出した場合に、副制御部400に送信すべき送信情報に、第1、第2特図始動口126、128、普図始動口124、および可変入賞口の入賞(入球)の有無を示す入賞受付情報を設定する。
ステップS210では、払出要求数送信処理を行う。なお、払出制御部550に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に暗号化のための今回加工種別(0〜3)、およびビット0〜3に暗号化加工後の払出要求数を示すようにしている。
ステップS211では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(上述する普図表示図柄更新タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、図6(c)に示す普図1の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、図6(c)に示す普図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では、特図状態更新処理を行う。この特図状態更新処理は、特図の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図変動中(上述の特図表示図柄更新タイマの値が1以上)における特図状態更新処理では、特図表示装置114を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、特図変動表示時間が経過したタイミング(特図表示図柄更新タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に図6(a)に示す特図1、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に図6(a)に示す特図2、大当たりフラグがオフの場合には、図6(a)に示す特図3の態様となるように特図表示装置114を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。また、コマンド設定送信処理(ステップS215)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に4Hを送信情報(コマンド種別)として追加記憶する。
また、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に5Hを送信情報(コマンド種別)として追加記憶する。
また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に7Hを送信情報(コマンド種別)として追加記憶する。
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に8Hを送信情報(コマンド種別)として追加記憶する。
また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に6Hを送信情報(コマンド種別)として追加記憶する。
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。特図の状態が非作動中の場合における特図状態更新処理では、何もせずに次のステップS214に移行するようにしている。
ステップS214では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、大当たり判定テーブル、高確率状態移行判定テーブル、タイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS209で乱数値記憶領域に記憶した特図乱数値が、移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオフに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオンに設定する。
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含むタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS215)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に1Hを送信情報(コマンド種別)として追加記憶してから処理を終了する。
例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が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の値を初期値としてセットし、ステップS207のタイマ更新処理を実行する度に、この変動時間記憶領域の値を1だけ減算するようにすることで、割り込み処理の実行回数により時間の経過を計測できるようにしている。また、複数回(例えば5回)のタイマ割込処理の実行ごと(例えば2ms周期)に変動時間記憶領域の値を減算する場合には、変動時間が10秒の場合であれば、10秒が10000msであることから周期(2ms×5)で割り算して1000を変動時間記憶領域に設定する。
ステップS215では、コマンド設定送信処理を行う(詳細は後述する)。なお、副制御部400に送信する出力予定情報は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(0Hの場合は基本コマンド、1Hの場合は図柄変動開始コマンド、4Hの場合は図柄変動停止コマンド、5Hの場合は入賞演出開始コマンド、6Hの場合は終了演出開始コマンド、7Hの場合は大当たりラウンド数指定コマンド、EHの場合は復電コマンド、FHの場合はRAMクリアコマンドをそれぞれ示すなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に1H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に4H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に5H、コマンドデータに、RAM308に記憶している、入賞演出期間中に装飾図柄表示装置110・各種LED423・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に6H、コマンドデータに、RAM308に記憶している、演出待機期間中に装飾図柄表示装置110・各種LED423・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に7H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に8H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
ステップS216では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路652に出力する。
ステップS217では、デバイス監視処理を行う。このデバイス監視処理では、ステップ203において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、内枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、内枠開放エラー、または下皿満タンエラーを検出した場合に、副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無、内枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、入賞受付処理(ステップS209)で設定した入賞受付情報を出力ポート310を介して副制御部400に出力する。
ステップS218では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS220に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS219に進む。
ステップS219では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行い、その後、図9に示す主制御部メイン処理に復帰する。
一方、ステップS220では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、図9に示す主制御部メイン処理に復帰する。
続いて、工場出荷前のパチンコ機100について説明する。ここで説明するパチンコ機100は、複数の遊技用部品が搭載されるとともに、主制御部300の基本回路302に検査用ROMが取り付けられている。
図11は、検査用ROMが実装された基本回路を有する主制御部の回路ブロック図である。
図11に示す主制御部300の基本回路302は、図7に示す主制御部300の遊技制御用ROM306に代えて検査用ROM307が取り付けられている以外は、図7に示す主制御部300の構成と同じ構成であるため、重複する説明は省略する。図11に示す検査用ROM307には、パチンコ機100に搭載された複数の遊技用部品のうち特定の遊技用部品が正常か否かを検査する出荷前検査処理のプログラムが記憶されている。パチンコ機100に電源が投入されると、主制御部300は、この出荷前検査処理のプログラムにしたがって、副制御部400に16ビットの検査コマンド(FE01〜FE14)を順次送信する。これらの検査コマンドは、図7に示す遊技制御用ROM306に記憶されたプログラムによっては出力されない。すなわち、検査コマンドは、遊技中には使用されない情報であって、検査処理の実行を指示する情報であり、本発明にいう検査指示情報の一例に相当する。
パチンコ機100は、出荷前検査に合格すると、基本回路302から検査用ROM307が取り外され、その基本回路302には図7に示す遊技制御用ROM306が取り付けられて工場出荷される。なお、ここでは、検査用ROM307を用いたが、基本回路302に代えて、検査用回路や外部検査装置を用いてもよい。ここにいう検査用回路は、CPU、RAM、および検査用ROM307等が実装されたものであり、図7に示す基本回路302に代えて取り付けられており、検査合格後には基本回路302と交換される。また、外部検査装置を用いる場合には、最初から遊技制御用ROM306を取り付けておき、主制御部300の構成は図7に示す構成でよい。外部検査装置は、検査用ROM307を備えたパーソナルコンピュータ等であり、図2に示す外部端子板155に接続され、副制御部400に検査コマンドが送信される。このような外部検査装置と本実施例のパチンコ機100を有するものが、本発明にいう検査システムの一例に相当する。
次に、本実施例のパチンコ機100におけるソフトウェア構造について説明する。この説明を行う前に、パチンコ機等の遊技機業界特有の事情についてふれておく。
遊技機は不正な目的で金銭的価値のある遊技媒体を不正に取得することができないように、所定の検査機関によりROMの中身、機構、演出情報などの検査を受ける必要があり、検査機関による認可後は原則として変更がきかないという制限がある。
そのため、他業界の製品(家電製品など)は一般的に製品が完成してから実際に工場で生産開始するまでに検査用プログラムを作成すればよいが、遊技機業界では、製品が完成してから、検査機関への販売認可申請を行う前までに検査プログラムを作成しなければならないという制約がある。
一方、検査プログラムは、遊技機内の遊技用部品を検査するという性質上、遊技機の開発工程でも終了間際に作成される。
したがって、検査プログラムは開発工程の終了間際から検査機関への申請前という短い期間(一般的には3ヵ月前後)に作成しなければならず、可能であれば、他のプログラム作成者と連携を取らずに独立して組み込みたいという要望がある。
このような特有の事情に鑑み、本実施例のパチンコ機100では、アプリケーション側に新たな処理を加える際には、ソフトウェア開発者の手間を軽減させるため、フレームワークを基にしてエントリー形式を採用している。エントリー形式をとることで他のプログラムに極力干渉することがなくなるため、他のプログラム作成者との連携を取らずに済む。
図12は、本実施例のパチンコ機100におけるフレームワーク側とアプリケーション側のソフトウェア構造を表す概略イメージ図である。
アプリケーション側のソフトウェアは、図8に示す副制御部400のP−ROM406に記憶されている。このソフトウェアには、7種類の処理それぞれを実行するためのプログラムが用意されている。すなわち、図5に示すシャッタ可動物に関する処理、図4に示す可動人形211等のセンタ可動物に関する処理、スピーカ416等の音に関する処理、装飾図柄表示装置110等の表示装置に関する処理、演出に関する処理、入出力インタフェースに関する処理、および工場出荷前の検査に関する処理それぞれを実行するためのプログラムが用意されている。各プログラムによって実行される処理には、さらに細かな処理として関数エントリ処理等が含まれている。例えば、図12に示すように、シャッタ可動物250に関する処理であれば、詳しくは後述する関数エントリ処理、シャッタ可動物250の初期化を行う可動物初期化処理、シャッタ可動物250の動作態様についてのコマンドを受信する可動物可動設定処理、シャッタ可動物250を制御する可動物可動処理等の複数の処理が含まれている。また、副制御部400のRAM408等のメモリには、複数の関数テーブルが予め用意されている。例えば、図12に示すように、シャッタ可動物250に関する処理の関数テーブルとしては、機能ごとに分けられ、初期設定関数テーブル、演出制御関数テーブル、0.3msタイマ割り込み関数テーブル、コマンド受信関数テーブル、表示装置制御関数テーブル等が用意されている。これらの関数テーブルは、シャッタ可動物に関する処理、センタ可動物に関する処理等の7種類の処理で共通に用いられるものである。
<副制御部メイン処理>
次に図13を用いて副制御部400のメイン処理について説明する。同図は、副制御部400で実行されているメイン処理のフローチャートであり、副制御部400は、電源の投入後、電源の遮断などがない限りこのメイン処理を繰り返し実行する。図13に示す副制御部メイン処理は、出荷前の検査処理を行うため電源が投入された場合であっても、出荷後にパチンコ機100が遊技店に設置され電源が投入された場合であっても実行される処理である。
ステップS301では、パチンコ機100の制御に必要な所定の関数エントリ(以下、エントリとは、関数の先頭アドレスをメモリ等へ登録することを意味し、単に登録と言うことがある。)処理を行う。具体的には、電源投入に基づいて実行される初期設定処理や遊技中に実行される遊技処理等が含まれる非検査処理を行うため、あるいは工場出荷前に特定の遊技用部品が正常か否かを検査する検査処理を行うため、複数の関数(以下、処理又はプログラムと言うことがある)を所定のタイミングで実行する必要がある。例えば、本実施例では、シャッタ可動物に関する関数エントリ処理、センタ可動物に関する関数エントリ処理、音に関する関数エントリ処理、装飾図柄表示装置110等の表示装置に関する関数エントリ処理、演出に関する関数エントリ処理、入出力インタフェースに関する関数エントリ処理、工場出荷前の検査に関する関数エントリ処理がある。
ステップS301の関数エントリ処理では、上述した複数の関数テーブルに、それぞれの関数テーブルに対応した各関数の先頭アドレスを登録していく。つまり、各処理の初期化に関する初期化処理の各先頭アドレスは初期設定関数テーブルに登録され、各処理の動作態様に関する設定処理の各先頭アドレスはコマンド受信関数テーブルに登録され、各処理の表示に関する制御処理の先頭アドレスは表示装置制御関数テーブルに登録され、各処理の動作制御に関する制御処理は演出制御関数テーブルに登録される。なお、上記7種類の処理によっては登録の必要がない処理もあり、その場合は登録されない。例えば、音に関する処理では、表示に関する処理は必要ないので、表示装置制御関数テーブルに音に関する処理の先頭アドレスは登録されない。なお、本実施例で記載した関数エントリ処理、各種処理、関数テーブルは遊技および検査に関する処理の一部であり、本実施例に例示したものに限定されるものではない。例えば、装飾図柄表示装置110等の表示装置の表示に合わせて音を鳴らしたい場合は、表示装置制御関数テーブルに音に関する処理の先頭アドレスを登録しても構わない。
ステップS302では、関数テーブルの中から所定の関数テーブルを呼び出すための引数をフレームワーク側(図12参照)で設定する。本実施例では、まず、引数として初期設定関数テーブルを設定する。
ステップSS303では、複数の関数テーブルの中からステップS302で設定した引数に対応する関数テーブル(初期設定関数テーブル)を呼び出し、その関数テーブルに登録されている関数の先頭アドレスを呼び出して実行する。後で説明するが、ステップS303では、関数テーブルに登録されている全ての関数(プログラム)の先頭アドレスを呼び出したか否か判定し、全ての関数の先頭アドレスを呼び出すまで、先頭アドレスの呼び出し処理を繰り返し実行する。
上述したステップS301〜S303の処理によって、まずパチンコ機100の遊技に関する処理や、パチンコ機100の工場出荷前の検査に関する処理について、関数テーブルに関数の先頭アドレスを登録する。その後引数に設定した関数テーブルを呼び出し、その関数テーブルに登録されている全ての関数の先頭アドレスを連続して呼び出して実行する。なお、本実施例では、関数テーブルに登録されている関数の実行は、関数テーブル毎に登録されている関数を連続して実行するようにしたが、実行する関数に優先順位を付して任意の順番で実行しても好ましい。
ステップS304では、更新タイミングか否かを判定する。更新タイミングは、後で説明する、装飾図柄表示装置(液晶表示装置)110における描画完了割り込み処理の割込み回数(実行回数)により決定され、本実施例では、描画完了割り込み処理が2回行われた場合に更新タイミングになる。このステップS304の処理は、更新タイミングが到来するまで繰り返し実行され、更新タイミングと判定した場合には、ステップS305へ進む。
ステップS305〜S310は、ステップS302〜S303と同様の処理を引数に設定された関数テーブルごとに実行する。以下、ステップS305〜S310の処理について簡単に説明する。
ステップS305では、引数にコマンド受信関数テーブルを設定し、ステップS306に進む。
ステップS306では、コマンド受信関数テーブルを呼び出し、そのコマンド受信関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行する。
ステップS307では、引数に装飾図柄表示装置110の制御を行う表示装置制御関数テーブルを設定し、ステップS308に進む。
ステップS308では、表示装置制御関数テーブルを呼び出し、その表示装置制御関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行する。
ステップS309では、引数に演出制御関数テーブルを設定し、ステップS310に進む。
ステップS310では、演出制御関数テーブルを呼び出し、その演出制御関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行した後、ステップS304へ戻り、ステップS304〜S310の処理を、パチンコ機100の供給電源が遮断されるまで繰り返し実行する。また、なんらかの割り込み処理を受信した場合には、対応する割り込み関数テーブルを呼び出して実行する。例えば、副制御部400のCPU404は、演出ボタン146が押下された場合、割り込みコマンドを受信し、後述する演出ボタン割り込み処理を開始する。この割り込み処理については、図19を用いて後で説明する。
なお、先にも述べたが、上述で示した関数テーブルは一例であり、パチンコ機100の機能ごとに必要な関数テーブルが異なることは言うまでもない。例えば、表示制御関数テーブルは、表示装置に関する処理で必要になるテーブルであり、その他の処理では不必要であって呼び出されない。
次に、図14は、関数エントリ処理のフローチャートである。同図を用いて、上述した副制御部メイン処理におけるステップS301の関数エントリ処理について説明する。関数エントリ処理は、上述のごとく、図14に示す7種類の関数エントリ処理があり、RAM408に用意された複数の関数テーブルは、これら7種類の関数エントリ処理で共通に用いられる。各関数エントリ処理では、副制御部400は、RAM408に用意された複数の関数テーブルそれぞれに必要な関数の先頭アドレスを登録する。
ステップS401では、図5に示すシャッタ可動物250に関する関数エントリ処理を行い、ステップS402に進む。
ステップS402では、図4に示す可動人形211等のセンタ可動物に関する関数エントリ処理を行い、ステップS403に進む。
ステップS403では、スピーカ416等の音に関する関数エントリ処理を行い、ステップS404に進む。
ステップS404では、装飾図柄表示装置110等の表示装置に関する関数エントリ処理を行い、ステップS405に進む。
ステップS405では、演出に関する関数エントリ処理を行い、ステップS406に進む。
ステップS406では、入出力インタフェースに関する関数エントリ処理を行い、ステップS407に進む。
ステップS407では、工場出荷前の検査に関する関数エントリ処理を行い、関数エントリ処理を終了する。
なお、上述の関数エントリ処理の他、遊技中に実行される遊技処理等が含まれる上記非検査処理に必要な関数エントリ処理等を適宜追加、削除してもよいことは言うまでもない。
次に図15を用いて、7種類の関数エントリ処理のうちシャッタ可動物250に関する関数エントリ処理について詳細に説明する。同図は、副制御部400のCPU404によって実行される、シャッタ可動物250に関する関数エントリ処理のフローチャートである。
ステップS501では、関数の先頭アドレスと関数テーブルそれぞれに引数を設定する。すなわち、このステップS501においては、初期設定処理で行う関数の先頭アドレスを引数として設定するとともに、RAM408に用意されている初期設定関数テーブルに引数を設定する。
ステップS502では、ステップS501で設定した引数を用いて関数共通エントリ処理を行う。この関数共通エントリ処理については後述するが、以下、引数を設定した後に、設定した引数を用いてそれぞれの関数共通エントリ処理が行われる(ステップS504からS528までの内の偶数のステップ)。
図15に示すように、引数を設定するステップとしては、ステップS501の他に13個のステップが用意されている(ステップS503からS527までの内の奇数のステップ)。これらの引数を設定するステップを簡単に説明すると、ステップS503ではコマンド受信処理、ステップS505では表示装置制御処理、ステップS507では演出制御処理、ステップS509では描画完了割り込み処理、ステップS511ではデータ転送完了割り込み処理、ステップS513では描画イベント割り込み処理、ステップS515では主制御ストローブ割り込み処理、ステップS517では演出ボタン割り込み処理、ステップS519では0.3msタイマ割り込み処理、ステップS521では1msタイマ割り込み処理、ステップS523では入出力インタフェースエラー割り込み処理、ステップS525では入出力インタフェース受信割り込み処理、ステップS527では入出力インタフェース送信割り込み処理それぞれについての関数の先頭アドレスの登録と、関数テーブルそれぞれに引数を設定する。
なお、前述したが、ここで説明した関数の先頭アドレスの登録は一例であり、全ての関数の先頭アドレスを登録する必要はなく、また、割り込み処理については、それぞれの割り込みを受信した場合にのみ対応する関数テーブルに、必要な関数の先頭アドレスを登録し、引数を設定すればよい。
次に、図15に示す各関数共通エントリ処理について説明する。図16は、関数共通エントリ処理のフローチャートである。
まず、直前のステップで設定された引数の先頭アドレスを、同じステップで設定された引数の関数テーブルに登録する(ステップS601)。ここで、7種類の関数エントリ処理で共通に用いられる複数の関数テーブルそれぞれには、登録することができる関数の上限値(例えば10個)が設けられている。ここにいう、登録することができる関数の個数は、先頭アドレスの個数であり、ステップS602では、ステップS601によって先頭アドレスが登録されたことで、その先頭アドレスが登録された関数テーブルにおける関数の登録数が、上限値を越えたか否かを判定する。登録数が上限値を越えていれば、エラー表示を行うエラー処理(ステップS603)を実行し、越えていなければ関数エントリ処理に復帰する。なお、本実施例においては、ステップS603におけるエラー処理の具体例としてエラー表示を行ったが、単に登録を行わないという処理にしてもよい。
次に図17を用いて、工場出荷前の検査に関する関数エントリ処理について詳細に説明する。同図は、検査に関する関数エントリ処理のフローチャートである。なお、図15を用いて説明したシャッタ可動物250に関する関数エントリ処理や、以下に説明する検査に関する関数エントリ処理以外の関数エントリ処理の流れも基本的には同じである。ただし、それぞれの関数エントリ処理ごとに必要な関数が異なるため、関数テーブルに登録する関数の先頭アドレスが異なることは言うまでもない。
ステップS701では、演出制御処理で行う関数の先頭アドレスを引数として設定するとともに、RAM408に用意されている演出制御関数テーブルに引数を設定する。
ステップS702では、ステップS701で設定した引数を用いて図16に示す関数共通エントリ処理を行う。
ステップS703では、演出ボタン割り込み処理で行う関数の先頭アドレスを引数として設定するとともに、RAM408に用意されている演出ボタン関数テーブルに引数を設定する。
ステップS704では、ステップS703で設定した引数を用いて図16に示す関数共通エントリ処理を行い、図14に示す関数エントリ処理に戻る。
図18は、前述した副制御部メイン処理におけるステップS303の関数呼出処理の流れを示すフローチャートである。同図を用いて、関数呼出処理について詳細に説明する。
まず、ステップS801は、図13に示す副制御部メイン処理において引数に設定された関数テーブル(例えば、初期設定関数テーブル)を参照し、ステップS802に進む。
ステップS802では、参照した関数テーブルに登録されている関数の先頭アドレスを呼び出し、ステップS803に進む。関数の先頭アドレスが呼び出されると、その関数が実行される。
ステップS803では、関数テーブルに登録されている関数の全ての先頭アドレスを呼び出したか否か判断し、全ての先頭アドレスを呼び出していない場合、ステップS804へ進み、その関数テーブルの次の関数の先頭アドレスを参照する。全ての関数の先頭アドレスを呼び出した場合には関数呼出処理を終了し、図13に示す副制御部メイン処理に戻る。
ステップS804では、その関数テーブルの次の関数の先頭アドレスを参照し、ステップS802に戻って、その先頭アドレスを呼び出す。全ての関数の先頭アドレスを呼び出すまでステップS802〜S804の処理を繰り返し実行する。本実施例では、それぞれの関数テーブルには関数の先頭アドレスが10個まで登録される。
このように、本実施例においては、1回の関数テーブルの参照で、関数テーブルに登録されている総ての関数の先頭アドレスを呼び出す構成をとっている。なお、必ず総ての関数の先頭アドレスを呼び出す構成に限られず、たとえば、関数テーブルに登録されている先頭アドレスのうち、所定の条件が成立した場合のものを呼び出すようにしてもよい。たとえば、所定の処理を2回に1回呼び出すようにしてもよい。
次に図19を用いて、その他の割り込み処理について説明する。同図(a)は、描画完了割り込み処理のフローチャートであり、同図(b)は、データ転送完了割り込み処理のフローチャートであり、同図(c)は、描画イベント割込み処理のフローチャートであり、同図(d)は、主制御ストローブ割込み処理のフローチャートであり、同図(e)は、演出ボタン割り込み処理のフローチャートであり、同図(f)は、0.3msタイマ割り込み処理のフローチャートであり、同図(g)は、1msタイマ割り込み処理のフローチャートであり、同図(h)は、入出力インタフェースエラー割込み処理のフローチャートであり、同図(i)は、入出力インタフェース受信割込み処理のフローチャートであり、同図(j)は、入出力インタフェース送信割込み処理のフローチャートである。これらの各割り込み処理は、副制御部400のCPU404がそれぞれの条件で発生する割り込み処理のコマンドを受信した場合に実行される処理である。
図19(a)に示す描画完了割り込み処理は、図8に示すVDP425が描画を不図示のVRAM(Video−RAM)に出力した場合に割り込まれる処理で、図13で説明したステップS304の更新タイミングを決定する要因となる割込み処理である。具体的には描画完了割り込みが2回発生すると更新タイミングになる。この描画完了割り込み処理は、引数に描画完了関数テーブルを設定し(ステップS901)、ステップS902における関数呼出処理において、この関数テーブルを参照し、関数テーブルに登録されている関数の先頭アドレスを全て呼び出して実行する。
同図(b)に示すデータ転送完了割込み処理は、VDP425のVRAMに対する画像データの転送が終了した際に行われる割り込み処理である。VDP425は画像データを生成し、その画像データは図示しないVRAMに転送される。装飾図柄表示装置(液晶表示装置)110に、そのVRAMに保存された画像データに基づく画像が表示される。副制御部400のCPU404は、VDP425がVRAMに画像を転送している間は、その処理が完了するまで待っている。このデータ転送完了割り込み処理は、引数にデータ転送完了関数テーブルを設定し(ステップS911)、ステップS912における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(c)に示す描画イベント割込み処理は、転送、描画エラーなどにより画像データの転送を中止する場合に、CPU404に対しVDP425から出力される割り込み信号である。この描画イベント割込み処理は、引数に描画イベント関数テーブルを設定し(ステップS921)、ステップS922における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(d)に示す主制御ストローブ割込み処理は、主制御部300から送信された情報(ストローブ信号)を副制御部400が受信した場合に割り込まれる処理で、主制御部300からの情報をコマンドとして副制御部400のRAM408に設けられたコマンド記憶部(図示省略)に記憶する処理である。この主制御ストローブ割込み処理は、引数に主制御ストローブ関数テーブルを設定し(ステップS931)、ステップS932における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。なお、この主制御ストローブ関数テーブルで、検査コマンドを記憶する。
同図(e)に示す演出ボタン割り込み処理は、図1に示す演出ボタン146が押下された場合に割り込まれる処理で、この割込みのタイミングで演出ボタン146押下時の演出を設定する。この演出ボタン割り込み処理は、引数に演出ボタン関数テーブルを設定し(ステップS941)、ステップS942における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(f)に示す0.3msタイマ割り込み処理は、0.3ms毎に割込みを行う処理である。この0.3msタイマ割り込み処理は、引数に0.3msタイマ関数テーブルを設定し(ステップS951)、ステップS952における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(g)に示す1msタイマ割り込み処理は、1ms毎に割り込みをする処理である。この1msタイマ割り込み処理は、引数に1msタイマ関数テーブルを設定し(ステップS961)、ステップS962における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(h)に示す入出力インタフェースエラー割込み処理は、副制御部400の入出力インタフェース410によって演出制御部700との間で入出力されるデータにノイズが乗った等でエラーと判断された場合に行われる処理で、そのエラー判断されたデータを破棄する処理を行う。この入出力インタフェースエラー割込み処理は、引数に入出力インタフェースエラー関数テーブルを設定し(ステップS971)、ステップS972における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
同図(i)に示す入出力インタフェース受信割込み処理は、入出力インタフェース410に演出制御部700からデータが入力された場合に発生する割込み処理である。この入出力インタフェース受信割込み処理は、引数に入出力インタフェース受信関数テーブルを設定し(ステップS981)、ステップS982における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
図8に示す副制御部400のRAM408には、演出制御部700に送信する情報を一旦記憶しておく送信情報記憶領域が用意されている。同図(j)に示す入出力インタフェース送信割込み処理は、その送信情報記憶領域に情報が記憶された場合に発生する割込み処理である。この入出力インタフェース送信割込み処理は、引数に入出力インタフェース送信関数テーブルを設定し(ステップS991)、ステップS992における関数呼出処理において、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
なお、上記の各割り込み処理は一例であり、例えば、遊技中の処理や演出を追加、削除した場合、適宜必要な割り込みが追加、削除されることは言うまでもない。
したがって、アプリケーション側で処理を追加した場合でもフレームワークのプログラムを修正しなくていいので、フレームワークの開発を効率よく行うことができる。
また、新たな演出装置(例えば、可動物など)を追加した場合、フレームワーク側は関数エントリ処理にこの新たに追加した可動物に関する関数エントリ処理の呼び出し処理だけを追加すればよく、大きなプログラムの設計変更をしなくて済むので開発工程の効率化と削減をできるという効果がある。
続いて、シャッタ可動物250に関する処理について説明する。
図20(a)は副制御部400のCPU404によって実行される、シャッタ可動物250に関する可動物初期化処理のフローチャートであり、同図(b)はそのCPU404によって実行される、シャッタ可動物250に関する可動物可動設定処理のフローチャートである。図20(a)に示す可動物初期化処理も、同図(b)に示す可動物可動設定処理も、工場出荷前の検査処理を行う場合であっても、パチンコ機100が遊技店に設置された場合であっても実行される処理である。
図12に示す初期設定関数テーブルに、可動物初期化関数(処理)の先頭アドレスが登録されていると、図13に示す副制御部メイン処理におけるステップS303において、その関数の先頭アドレスが呼び出されることで、図20(a)に示す、シャッタ可動物250に関する可動物初期化処理が実行される。図8に示す副制御部400のRAM408には、2ビットのシャッタ検知結果記憶領域が用意されている。この可動物初期化処理では、まず、そのシャッタ検知結果記憶領域に“00”を設定する(ステップS1011)。また、RAM408には、可動物初期化処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ステップS1011に続いて実行されるステップS1012では、その設定領域に、左右シャッタ250a、250bそれぞれを、図5に示すストッパ部2041に当接するまで全開させること(初期設定用シャッタ全開可動動作)を設定する。また、副制御部400のRAM408には、全開判定タイマも用意されている。可動物初期化処理では、ステップS1012を実行すると、次に、この全開判定タイマに所定の値をセットして(ステップS1013)、関数呼出処理(ステップS303)に戻り、次の関数があればその関数を呼び出す(以下、関数呼出処理に戻る場合は同じ。)
また、図12に示す演出制御関数テーブルに、可動物可動設定関数(処理)の先頭アドレスが登録されていると、図13に示す副制御部メイン処理におけるステップS310において、その関数の先頭アドレスが呼び出されることで、図20(b)に示す、シャッタ可動物250に関する可動物可動設定処理が実行される。このシャッタ可動演出の可動物可動設定処理では、まず、シャッタ可動演出がRAM408の設定領域に設定されているか否かを判定する(ステップS1021)。図13に示す副制御部メイン処理におけるコマンド受信関数テーブルからの関数呼出処理(ステップS306)において、主制御部300から送られてきたコマンドの中に、シャッタ可動物250の可動演出を指示するコマンドが含まれていると、副制御部400は、そのコマンドのデータ情報に基づいて、演出制御内容を決定するとともに、RAM408に用意された設定領域にシャッタ可動演出を設定する。このステップS1021では、シャッタ可動演出が設定されていればステップS1022に進み、シャッタ可動演出が設定されていなければ関数呼出処理(ステップS310)に戻る。図5に示す左右シャッタ250a,250bは、それぞれの位置を表す相対位置情報に基づいて移動距離(可動量)が算出される。副制御部400のRAM408には、相対位置情報を記憶する相対位置情報記憶領域が用意されている。後述する初期設定処理では、その相対位置情報記憶領域に、左右シャッタセンサ2501,2502でそれぞれ検知される所定位置である、ストッパ部2041に当接する直前の上記開検知位置を、基準位置として設定する(後述する図21に示すステップS1038、S1041参照)。あるいはストッパ部2041に当接した当接位置を基準位置として設定する(後述する図21に示すステップS1045、S1047参照)。初期設定処理終了後に、左右シャッタ250a,250bを可動させる場合には、副制御部400は、こうして設定された基準位置に基づいてステッピングモータ256を何パルス分回転させるかを算出する。左右シャッタ250a,250bの可動中には、相対位置情報記憶領域が、ステッピングモータ256の回転量から算出された、現在の左右シャッタ250a,250bの相対位置情報に書き換えられる。ステップS1022では、現在の相対位置情報に基づいて、左右シャッタ250a,250bの可動動作を設定する。ここにいう可動動作を設定するとは、副制御部400が決定した演出制御内容に応じた左右シャッタ250a,250bそれぞれの可動量を、相対位置情報記憶領域に記憶されている現在の相対位置情報に基づいて算出し、算出した可動量だけ可動した左右シャッタ250a,250bそれぞれの位置を表す値を可動終了値としてRAM408に記憶しておくとともに、RAM408に用意された設定領域に可動動作を設定する。ステップS1022の実行が終了すると、関数呼出処理(ステップS310)に戻る。
図21は、副制御部400のCPU404によって実行される、シャッタ可動物250に関する可動物可動処理のフローチャートである。この可動物可動処理も、工場出荷前の検査処理を行う場合であっても、パチンコ機100が遊技店に設置された場合であっても実行される処理である。
図12に示す0.3msタイマ割込関数テーブルに、可動物可動関数(処理)の先頭アドレスが登録されていると、図19(f)に示す0.3msタイマ割込処理におけるステップS952において、その関数の先頭アドレスが呼び出されることで、図21に示す、シャッタ可動物250に関する可動物可動処理が実行される。
図21に示す可動物可動処理では、まず、初期設定用シャッタ全開可動動作がRAM408の設定領域に設定されているか否かを判定する(ステップS1031)。初期設定用シャッタ全開可動動作の設定は、図20(a)に示す可動物初期化処理におけるステップS1012で実行される。このステップS1031で設定されていないと判定した場合には、上記非検査処理のうちの、遊技中に実行される遊技処理の最中に、この図21に示す可動物可動処理が実行されていることになる。この場合には、可動動作がRAM408の設定領域に設定されているか否かを判定する(ステップS1032)。ここでの判定でも設定されていないと判定すれば、後述するステップS1048に進む。反対に、可動動作が設定されていると判定すれば、遊技処理中における演出制御処理として、以下の処理を行う。まず、図8に示すモータ制御回路420に向けてステッピングモータ256の回転を指示し、左右シャッタ250a,250bを可動させる(ステップS1033)。次いで、RAM408に用意された相対位置情報記憶領域に記憶されている相対位置情報が可動終了値に到達したか否かを判定する(ステップS1034)。上述のごとく、左右シャッタ250a,250bの可動中には、相対位置情報記憶領域が、ステッピングモータ256の回転量から算出された、現在の左右シャッタ250a,250bの相対位置情報に書き換えられている。また、可動終了値は、図20(b)に示す可動物可動設定処理におけるステップS1022でRAM408に記憶された値である。このステップS1034における判定で、相対位置情報が可動終了値に未到達であると判定すれば後述するステップS1048に進むが、到達したと判定すれば、RAM408に用意された設定領域の可動動作の設定をクリアして(ステップS1035)から、ステップS1048に進む。
反対に、ステップS1031において、初期設定用シャッタ全開可動動作がRAM408の設定領域に設定されていると判定した場合には、上記非検査処理のうちの、電源投入に基づいて実行される初期設定処理の最中に、この図21に示す可動物可動処理が実行されていることになる。まず、ステップS1036では、モータ制御回路420(図8参照)に向けてステッピングモータ256の回転を指示し、左右シャッタ250a,250bを全開位置まで可動させる。次いで、図5に示す左シャッタセンサ2501が左シャッタ250aを検知したか否かを判定する(ステップS1037)。上述のごとく、左右シャッタセンサ2501,2502は、ストッパ部2041に当接する直前の所定位置である開検知位置に到達した左右シャッタ250a、250bそれぞれを検知するものである。左シャッタセンサ2501が左シャッタ250aを検知したと判定すれば、検知位置を左シャッタ250aの基準位置に設定し、モータ制御回路420に向けてステッピングモータ256の回転の停止を指示して左シャッタ250aの可動を停止させる(ステップS1038)。ここにいう検知位置は上記開検知位置が相当し、その開検知位置が、RAM408に用意された相対位置情報記憶領域に、現在の相対位置情報として設定される。続いてRAM408に用意されたシャッタ検知結果記憶領域の2ビット目を1に設定し(ステップS1039)、後述するステップS1048に進む。シャッタ検知結果記憶領域には、図20(a)に示す可動物初期化処理におけるステップS1011において“00”が設定されており、このステップS1039を実行することで、そのシャッタ検知結果記憶領域の値は“10”か“11”になる。
ステップS1037において、左シャッタセンサ2501が左シャッタ250aを未検知であると判定すれば、今度は、図5に示す右シャッタセンサ2502が右シャッタ250bを検知したか否かを判定し(ステップS1040)、検知したと判定すれば、ステップS1038と同様に、検知位置を今度は右シャッタ250bの基準位置に設定し、モータ制御回路420に向けてステッピングモータ256の回転の停止を指示して右シャッタ250bの可動を停止させる(ステップS1041)。次に、RAM408に用意されたシャッタ検知結果記憶領域の今度は1ビット目を1に設定し(ステップS1042)、ステップS1048に進む。
反対に、ステップS1040において未検知であると判定すれば、図20(a)に示す可動物初期化処理におけるステップS1013において所定の値がセットされた全開判定タイマが0であるか否かの判定を行う(ステップS1043)。ここでの判定で、全開判定タイマが0であれば、左シャッタ250aの基準位置が設定されているか否かを判定する(ステップS1044)。すなわち、RAM408に用意された相対位置情報記憶領域に、上述のステップS1038が実行されることで設定される基準位置が記憶されているか否かを判定する。左シャッタ250aの基準位置が設定されてる場合にはステップS1046に進むが、その基準位置が設定されていない場合(この場合には左シャッタセンサ2501に異常があることになる)には、左シャッタ250aが可動していることを前提にし、全開位置を左シャッタ250aの基準位置として設定して(ステップS1045)から、ステップS1046に進む。ステップS1045が実行されることで、RAM408に用意された相対位置情報記憶領域には、左シャッタ250aが図5に示すストッパ部2041に当接するまで開いた位置(全開位置)が基準位置として設定され、その基準位置が現在の左シャッタ250aの相対位置情報として扱われることになる。
ステップS1046では、右シャッタ250bの基準位置が設定されているか否かを判定する。すなわち、RAM408に用意された相対位置情報記憶領域に、上述のステップS1041が実行されることで設定される基準位置が記憶されているか否かを判定する。右シャッタ250bの基準位置が設定されてる場合にはステップS1048に進むが、その基準位置が設定されていない場合には、右シャッタ250bが可動していることを前提にし、全開位置を右シャッタ250aの基準位置として設定して(ステップS1047)から、ステップS1048に進む。ステップS1047が実行されることで、RAM408に用意された相対位置情報記憶領域には、左シャッタ250aの場合と同じように、右シャッタ250bが図5に示すストッパ部2041に当接するまで開いた位置(全開位置)が基準位置として設定され、その基準位置が現在の右シャッタ250bの相対位置情報として扱われることになる。
ステップS1048では、全開判定タイマが0でないか否かの判定を行い、0であれば、図19(f)に示す関数呼出処理(ステップS952)に戻るが、0でなければ、全開判定タイマの値に1をデクリメントして(ステップS1049)から、関数呼出処理(ステップS952)に戻る。
続いて、パチンコ機100の工場出荷前の検査について説明する。パチンコ機等の遊技機は、不正な目的で金銭的価値のある遊技媒体を不正に取得することができないように、外部からの入力が著しく限定されている。
したがって、外部からの検査は、主制御部300の場合は実質行うことができず、副制御部400の場合は、主制御部300からのコネクタ(本実施例では図7に示すメイン−サブ中継基板335)を介して行われるのが通例である。
工場出荷前の検査では、パチンコ機100に搭載された複数の遊技用部品のうち特定の遊技用部品が正常か否かの検査を行う。ここで検査される特定の遊技用部品は、遊技処理の根幹を担う部品ではなく、例えば、演出を行う際に必要な部品等である。工場出荷前の検査が行われるパチンコ機100では、図11に示す検査用ROM307が主制御部300の基本回路302に取り付けられている。
図22から図25までは、工場出荷前の検査を検査項目ごとに表した図である。各検査項目には工程番号が付され、図22には、工程番号1〜5の検査項目の詳細が記載されており、図23には、工程番号6〜9の検査項目の詳細が記載されており、図24には、工程番号10〜15の検査項目の詳細が記載されており、図25には、工程番号16〜19の検査項目の詳細が記載されている。副制御部400のRAM408には、この工程番号をカウントする工程番号カウンタが用意されている。
また、図22から図25それぞれにおける「動作」の欄には、遊技用部品が正常である場合の動作が記されており、「結果」の欄には、正常である場合の結果と、異常である場合の結果がそれぞれ記されいる。右端の「判定」の欄には、検査員が行う判定結果が記されている。
検査工程の進行処理については詳しくはフロチャートを用いて後述するが、ここでは工程番号1〜19までの検査の進行について一通り簡単に説明する。電源が投入されると、図11に示す検査用ROM307が取り付けられた主制御部300から副制御部400に、FE01検査コマンドが送信される。工程番号1の検査では、そのFE01検査コマンドを受信したことにより検査処理が開始される。工程番号1の検査処理では、パチンコ機100の型式名と、図5に示す左右シャッタセンサ2501,2502についての検査が行われる。
一方、本実施例のパチンコ機100では、演出ボタン146が1又は所定時間内に複数回操作されると、それらの操作を検知する演出ボタンセンサを備えており、工程番号2〜4の各検査では、図1に示す演出ボタン146が、1回押下されることで次の工程番号の検査処理が開始され、所定時間内に複数回押下されることで一つ前の工程番号の検査処理に戻る。工程番号2の検査処理では、図8に示す副制御部400のP−ROM406(副制御ROM)についての検査が行われ、工程番号3の検査処理では、図8に示す副制御部400のVDP425が備えるC−ROM(画像データROM)についての検査が行われ、工程番号4の検査処理では、図8に示す演出制御部700のP−ROM706(演出制御ROM)についての検査が行われる。
副制御ROM、画像データROM、および演出制御ROMの検査では、各ROMのチェックサムを一度に表示せず、工程毎に表示している。また、演出制御ROMのチェックサム値は、後述する、断線チェック時のアンサー情報(アンサーコマンド)として受信する。
なお、画像データROMに製作者が意図したデータが入っているか否かは、ROMの全アドレスの情報を取得して、予め記憶した値と比較することで判定するチェックサム方式ではなく、ROMとCPUを接続する複数のアドレスバス信号線のうち1本の信号線のみON状態(電圧を所定の閾値よりも高い値)とし、他の信号線をOFF状態(電圧を所定の閾値よりも低い値)としたアドレスに記憶された情報を取得し、それを、全ての信号線に対して行う方式でもよい。具体的にいえば、CPUとROMを接続するアドレスバス信号線が8本の場合、「00000001」、「00000010」「00000100」「00001000」・・・・・・のように、各アドレスから情報を取得し、合計値と予め記憶した値とを比較してもよい。このようにすることで、短時間でデータバス信号線またはアドレスバス信号線の断線チェックを行うことを可能とすると共に、正しいROMが接続されているかを確認することができる。なお、1本の信号線のみON状態とし、他の信号線をOFF状態としてアドレスバス信号線またはデータバス信号線の断線を確認した後、1本の信号線のみOFF状態とし、他の信号線をON状態としてアドレスバス信号線またはデータバス信号線の断線を確認してもよい。このようにすることで、より正確に断線判定を行うことができる。
図1に示す内枠103を開けると、主制御部300から副制御部400に、FE02検査コマンドが送信される。工程番号5の検査では、そのFE02検査コマンドを受信したことにより検査処理が開始される。一方、内枠103を閉じると、主制御部300から副制御部400に、FE03検査コマンドが送信され、工程番号5の検査処理は続行され、さらに、図1に示すガラス枠156を開閉すると、開いたときにはFE04検査コマンドが送信され、閉じたときにはFE05検査コマンドが送信される。工程番号5の検査処理では、不図示の内枠開放センサやガラス枠開放センサについての検査が行われる。
図2に示すRAMクリアスイッチ1623が押下されると、FE06検査コマンドが送信され、工程番号6の検査処理が開始される。工程番号6の検査処理では、外部端子板155に含まれている盤用外部端子板と枠用外部端子板、および図2に示す払出装置552についての検査が行われる。
図1に示すガラス枠156を再び開けると、FE07検査コマンドが送信され、工程番号7の検査処理が開始される。工程番号7の検査処理では、図3に示す普図表示装置112の図柄表示基板LEDと特図表示装置114の図柄表示基板LED、および左側の盤面照明基板LEDについての検査が行われる。
図3に示す普図始動口124に検査員が球を入れると、FE08検査コマンドが送信され、工程番号8の検査処理が開始される。工程番号8の検査処理では、球が普図始動口124を通過したことを検出するゲートセンサ、図3に示す特図保留LED118、および可動人形211についての検査が行われる。可動人形211の検査では、図4に示すソレノイド212(地蔵ソレノイド1〜5)についての検査が行われる。
図3に示す第1特図始動口126に検査員が球を入れると、FE09検査コマンドが送信され、工程番号9の検査処理が開始される。工程番号9の検査処理では、球が第1特図始動口126を通過したことを検出する第1始動口センサ、電動チューリップと呼ばれる第2特図始動口128(図23では普通電動役物と記載してあるが、ここでの普通電動役物という記載は電動チューリップを駆動させるプログラムを表すものではない)、ステージ照明基板LED、およびチューリップ照明基板LEDについての検査が行われる。左右の羽根を有する電動チューリップである第2特図始動口128の検査では、それらの羽根を駆動するソレノイド(普通電動役物ソレノイド)についての検査が行われる。
図3に示す第2特図始動口128に検査員が球を入れると、FE10検査コマンドが送信され、工程番号10の検査処理が開始される。工程番号10の検査処理では、球が第2特図始動口128を通過したことを検出する第2始動口センサ、大入賞口またはアタッカと呼ばれる可変入賞口130、およびアタッカ照明基板LEDについての検査が行われる。扉部材を有するアタッカである可変入賞口130の検査では、その扉部材を駆動するソレノイド(大入賞口ソレノイド)についての検査が行われる。
図3に示す可変入賞口130に検査員が球を入れると、FE11検査コマンドが送信され、工程番号11の検査処理が開始される。工程番号11の検査処理では、球が可変入賞口130を通過したことを検出するカウントセンサ、および右側の盤面照明基板LEDについての検査が行われる。
図3の左側に実線で表した1個の一般入賞口(左)122に検査員が球を入れると、FE12検査コマンドが送信され、工程番号12の検査処理が開始される。工程番号12の検査処理では、球が一般入賞口(左)122に入賞したことを検出する一般入賞口(左)対応センサ、および上方の盤面照明基板LEDについての検査が行われる。
図3の下側に点線で表した3個の一般入賞口(下)122のうちのいずれかの入賞口に検査員が球を入れると、FE13検査コマンドが送信され、工程番号13の検査処理が開始される。工程番号13の検査処理では、球が一般入賞口(下)122に入賞したことを検出する一般入賞口(下)対応センサ、および右側の盤面照明基板LEDについての検査が行われる。
図1に示す下皿150の満タンを検知する下皿満タンセンサのスイッチ部を検査員が押下すると、FE14検査コマンドが送信され、工程番号14の検査処理が開始される。工程番号14の検査処理では、下皿満タンセンサ、ガラス枠156上部の左右に設けられた高音スピーカ、演出ボタン146についての検査が行われる。演出ボタン146の検査では、図8に示す演出ボタン用LED417についての検査が行われる。
また、工程番号15〜19の各検査では、図1に示す演出ボタン146が、1回押下されることで次の工程番号の検査処理が開始され、複数回押下されることで一つ前の工程番号の検査処理に戻る。工程番号15の検査処理では、演出ボタン146の操作を検知する演出ボタンセンサについての検査が行われ、工程番号16の検査処理では、図5に示すシャッタ可動部250についての検査が行われ、工程番号17の検査処理では、ガラス枠156の様々な所に設けられた枠側照明基板白色LEDについての検査が行われる。また、工程番号18の検査処理では、図3に示す装飾図柄表示装置(液晶表示装置)110についての検査が行われる。この工程番号18の検査では、液晶表示装置である装飾図柄表示装置110の液晶画面にカラーバーを表示させて液晶画面をRGBのグラデーション表示にする。最後の工程番号19では、検査終了の告知が行われ、検査員は全工程の検査が終了したことを認識する。
次に、パチンコ機100の工場出荷前の検査に関する処理について説明する。
図26は、副制御部400のCPU404によって実行されるコマンド判定処理のフローチャートである。RAM408に用意されているコマンド受信関数テーブルに、コマンド判定関数(処理)の先頭アドレスが登録されていると、図13に示す副制御部メイン処理におけるステップS306において、その関数の先頭アドレスが呼び出されることで、図26に示すコマンド判定処理が実行される。上述したように、副制御部400には主制御部300から、遊技中には使用されない情報であって検査処理の実行を指示する16ビットの検査コマンド(FE01〜FE14)が順次送信され、送信される都度、上述した主制御部ストローブ割込み処理(S931およびS932)でコマンド記憶部にコマンドが記憶される。。コマンド判定処理では、コマンド記憶部に記憶されたコマンドが検査コマンドであるか否かを判定し(ステップS1101)、検査コマンドでなければ、受信したコマンドに応じたその他の処理を実行し(ステップS1102)、関数呼出処理(ステップS306)に戻る。反対に、検査コマンドであれば、RAM408に用意された設定領域に検査モードを設定する(ステップS1103)。続いて、後述する検査設定処理を行い(ステップS1104)、ステップS1105に進む。ステップS1105では、副制御部400のRAM408に用意された工程番号カウンタの値を、受信した検査コマンドに応じた値に設定する。この工程番号カウンタの初期値は1であり、FE01検査コマンドを受信した場合には工程番号カウンタの値を2にする。また、FE02検査コマンドを受信した時点では工程番号カウンタの値は5である。FE02〜FE04検査コマンドを受信した場合には、その値を5のままとするが、FE05検査コマンドを受信すると、その値を6にする。以降、FE06〜FE14検査コマンドを受信すると、工程番号カウンタの値を順次1ずつインクリメントしていく。こうすることで、工程番号カウンタの値は、次に実行する工程番号の検査処理を表すことになる。ステップS1105の実行が終了すると、関数呼出処理(ステップS306)に戻る。
なお、本実施例のS1102の処理では、受信したコマンドに応じたその他の処理を実行しているが、検査モードが設定されている場合には検査コマンド以外のコマンドは実行しないようにしてもよい。このようにすることで、検査中に通信バケ等で遊技中に実行されるコマンドに基づいた処理が行われてしまうことを防止することができる。
また、本実施例のS1103では、どの検査コマンドを受信した場合でも検査モードに設定しているが、検査モードに設定するのは工程番号1に対応するFE01コマンドを受信した場合のみとし、検査モードでない場合に工程番号1以外のコマンドを受信すると、そのコマンドを破棄するようにしてもよい。このようにすることで、遊技中に検査コマンドを受信して検査を実行してしまうといったことを防止することができる。
図27は、副制御部400のCPU404によって実行される検査演出設定処理のフローチャートである。図12に示す演出制御関数テーブルに、検査演出設定関数(処理)の先頭アドレスが登録されていると、図13に示す副制御部メイン処理におけるステップS310において、その関数の先頭アドレスが呼び出されることで、図27に示す検査演出設定処理が実行される。この検査演出設定処理では、まず、検査モード中か否かを判定する(ステップS1201)。上述のごとく、検査モードは、検査コマンドを受信することで、図27に示すステップS1103において、RAM408に用意された設定領域に設定される。続いて、RAM408に用意された工程番号カウンタを参照し、次に実行する検査処理の工程番号が2〜4または15〜19であるか否かを判定する(ステップS1202)。後述するように、工程番号が2〜4および15〜19である検査処理では、図1に示す演出ボタン146の押下によって工程番号カウンタの値が1つインクリメントされる。ステップS1202における判定で工程番号が、それらの番号ではないと判定すると関数呼出処理(ステップS310)に戻るが、それらの番号であると判定すると今度は、演出ボタン146が操作されたか否かを判定する(ステップS1203)。副制御部400は、演出ボタン146が1又は所定時間内に複数回操作されると、演出ボタンセンサの検知結果によってそれらの操作を検知する。演出ボタン146が、未操作であるという判定であれば関数呼出処理(ステップS310)に戻るが、操作されたという判定であれば演出ボタン146の操作を所定時間内に複数回検知したか否かを判定を行う(ステップS1204)。演出ボタン146の複数回の操作を未検知である場合には、後述する検査設定処理(ステップS1205)に進み、RAM408に用意された工程番号カウンタを参照し、検査処理の工程番号が4または19であるか否かを判定する(ステップS1206)。検査処理の工程番号が、4または19であれば関数呼出処理(ステップS310)に戻るが、そうでなければ工程番号カウンタの値を1つインクリメントして(ステップS1207)から関数呼出処理(ステップS310)に戻る。
一方、ステップS1204において演出ボタン146の複数回の操作を検知したという判定であれば、工程番号カウンタを参照し、検査処理の工程番号が2または15であるか否かを判定する(ステップS1208)。検査処理の工程番号が、2または15であれば関数呼出処理(ステップS310)に戻り、そうでなければ工程番号カウンタの値を、ステップS1207とは反対に1つデクリメントする(ステップS1209)。ステップS1209の実行が終了すると、関数呼出処理(ステップS310)に戻る。
続いて、図26のステップS1104や図27のステップS1205の検査設定処理について説明する。図28は、副制御部400のCPU404によって実行される検査設定処理のフローチャートである。
図28に示す検査設定処理では、まず、工程番号カウンタを参照し、検査処理の工程番号が1であるか否かを判定し(ステップS1301)、1であれば図22に示す検査工程1の検査処理を設定する(ステップS1302)。図22に示すように、検査工程1では、音声で企画タイトルとバーション番号を出力する。ステップS1302において検査工程1の検査処理を設定するとは、この音声出力のタイミングと、企画タイトルとバージョン番号を告げる音声を出力させる指示情報とを、副制御部400の設定領域に設定することである。ここで設定領域に設定された情報は、図19(f)に示す0.3msタイマ割り込み処理において、音声や楽曲等のデータを記憶したサウンドROM(S−ROM)を備える音源IC418(図8参照)に出力される。図8に示すスピーカ416からは、ここで設定したタイミングで企画タイトルとバージョン番号を告げる音声が出力される。この音声出力は、工程番号1における検査結果に関わらずスピーカ416が正常であれば出力される。したがって、図22の工程番号1における判定の欄に記すように、検査員は、音声出力がなされればスピーカ416が正常である(OK)と判定し、音声出力がなければスピーカ416が異常である(NG)と判定する。ステップS1302の実行が終了すると、図26に示すコマンド判定処理や図27に示す検査演出設定処理に戻る。
反対に、工程番号が1でなければ、今度は、検査処理の工程番号が8であるか否かを判定し(ステップS1303)、工程番号が8でなければ、工程番号に応じた、その他の検査処理を設定し(ステップS1304)、図26に示すコマンド判定処理や図27に示す検査演出設定処理に戻る。一方、ステップS1303における判定で、工程番号が8であるという判定であれば、図23に示す検査工程8の検査処理を設定する(ステップS1305)。図23に示すように、検査工程8では可動人形211を動作させる。ステップS1305において検査工程8の検査処理を設定するとは、5体の可動人形211の可動タイミングと、5体の可動人形211の可動パターンとをRAM408の設定領域に設定することである。また、検査工程8では、本発明の第2の遊技用部品の一例に相当する特図保留第1LEDおよび特図保留第2LEDを含む特図保留LED118(図3参照)の検査も行うが、この検査は図11に示す主制御部300の検査用ROM307に記憶された検査用プログラムに従って行われる。よって、検査工程8において、検査用ROM307に記憶された検査用プログラムに従って特図保留LED118の検査を行う主制御部300が、本発明にいう別検査処理手段の一例に相当する。また、上述の如く、検査用ROM307は、パチンコ機100が出荷前検査に合格すると、基本回路302から取り外されてパチンコ機100は出荷される。この検査用ROM307の取り外しは、主制御部300のCPU304は取り外されないため、本発明にいう別検査処理手段の一部の取り外しに相当する。なお、上述の検査用回路や外部検査装置を用いる場合には、検査用回路や外部検査装置に検査用ROMが備えられていることから、これらも本発明にいう別検査処理手段の一部に相当し、パチンコ機100が工場集荷される時には、検査用回路や外部検査装置は全体がパチンコ機100から取り外される。このため、検査用回路や外部検査装置の取り外しは、本発明にいう別検査処理手段の全部の取り外しに相当することになる。
また、副制御部400のRAM408には、検査開始のウエイトタイマが用意されている。ステップS1305の実行が終了すると、その検査開始のウエイトタイマに所定の値をセットし(ステップS1306)、図26に示すコマンド判定処理や図27に示す検査演出設定処理に戻る。なお、検査開始のウエイトタイマに所定の値をセットするステップS1306が実行されるのは、検査コマンドを受信した場合に限られ、演出ボタン146の押下によって工程番号カウンタの値が増減した場合には、ウエイトタイマのセットは行われない。
図29は、副制御部400のCPU404によって実行される検査表示実行処理のフローチャートである。RAM408に用意されている表示装置制御関数テーブルに、検査表示実行関数(処理)の先頭アドレスが登録されていると、図13に示す副制御部メイン処理におけるステップS308において、その関数の先頭アドレスが呼び出されることで、図29に示す検査表示実行処理が実行される。
図29に示す検査表示実行処理では、まず、RAM408に用意された設定領域を参照し、検査モード中か否かを判定する(ステップS1401)。検査モード中でなければ関数呼出処理(ステップS308)に戻り、検査モード中であれば、工程番号カウンタを参照し、検査処理の工程番号が1であるか否かを判定する(ステップS1402)。
工程番号が、1でなければその他の検査表示処理を行い(ステップS1403)、1であれば工程番号1の検査処理を開始する。工程番号1の検査処理では、最初に、図8に示す演出制御部700に通信確認コマンドを送信済みか否かを判定する(ステップS1404)。ここで、通信確認コマンドを未送信であれば、演出制御部700に通信確認コマンドを送信し(ステップS1405)、次いで通信断線を示す情報を装飾図柄表示装置110に表示させる(ステップS1406)。このステップS1406では、図8に示すVDP425に通信断線を示す情報の表示を行うことを指示し、装飾図柄表示装置110に「シリアル通信断線」という表示(図22の工程番号1の結果欄参照)がなされる。なお、ステップS1405とステップS1406の実行タイミングを逆にして、先にステップS1406を実行してからステップS1405を実行してもよい。
一方、通信確認コマンドを送信済みであれば、演出制御部700からアンサーコマンドを受信したか否かを判定し(ステップS1407)、未受信であれば関数呼出処理(ステップS308)に戻る。アンサーコマンドは、図19(i)に示す入出力インタフェース受信割込み処理において受信し、受信したコマンドがアンサーコマンドであるか否かは、コマンド受信関数テーブルを呼び出して実行する、図13に示すステップS306において判定される。この検査表示実行処理は33.3ms毎に実行される処理であり、アンサーコマンドを受信するまで装飾図柄表示装置110には「シリアル通信断線」の表示がされ続ける。アンサーコマンドを受信していれば、今度は、受信したアンサーコマンドの値が所定値であるか否かを判定する(ステップS1408)。ここにいう所定値とは、例えば、副制御部400と演出制御部700が正しい組み合わせであるか否か(副制御部400に対して、別の機種の演出制御部700が取り付けられていないか)等をチェックするためのチェック値であり、この実施例では、アンサーコマンドは、図8に示す演出制御部700のP−POM706のバージョン情報とRAM708におけるチェックサムの算出値を表すコマンドである。アンサーコマンドの値がこの所定値でなければ、通信データ異常を示す情報を装飾図柄表示装置110に表示させる(ステップS1409)。アンサーコマンドの値が所定値でない場合としては、副制御部400に対して別の機種の演出制御部700が取り付けられていたり、演出制御部700が壊れていたりすることも考えられるが、ここでは一律に、通信データが文字化けしているという表示を行わせる。ステップS1406を実行することで装飾図柄表示装置110には「シリアル通信断線」の表示がされているが、このステップS1409を実行することで、装飾図柄表示装置110に、その表示に代えて「シリアル通信データ化け」(図22の工程番号1の結果欄参照)が表示される。ステップS1409の実行が終了すると、関数呼出処理(ステップS308)に戻る。
ステップS1408における判定で、アンサーコマンドの値が所定値であるという判定の場合には、左右シャッタセンサ2501,2502の検査結果を表示させたか否かを判定し(ステップS1410)、検査結果が表示済みであれば、RAM408に用意された工程番号カウンタの値を2に設定し(ステップS1411)、関数呼出処理(ステップS308)に戻る。反対に、検査結果が未表示であれば、RAM408に用意された2ビットのシャッタ検知結果記憶領域を参照し、シャッタ検査結果が左右シャッタ250a,250b両方について異常であるか否かを判定する(ステップS1412)。図20(a)に示すステップS1011において「00」が設定されるシャッタ検知結果記憶領域には、図21に示すステップS1039やステップS1042が実行されると「1」が設定されるが、“00”のままであれば、左右シャッタセンサ2501,2502両方について異常であると判定し、シャッタセンサ左右異常を示す情報を装飾図柄表示装置110に表示させる(ステップS1413)。このステップS1413では、VDP425に指示し、装飾図柄表示装置110には、「シリアル通信断線」の表示に代えて「左右シャッタセンサ未検知」(図22の工程番号1の結果欄参照)が表示される。ステップS1413の実行が終了すると、関数呼出処理(ステップS308)に戻る。
一方、シャッタ検知結果記憶領域が“00”のままでなければ、シャッタ検査結果が左シャッタ250aについて異常であるか否かを判定する(ステップS1414)。ここでは、シャッタ検知結果記憶領域の2ビット目が「0」であれば、左シャッタセンサ2501について異常であると判定し、シャッタセンサ左異常を示す情報を装飾図柄表示装置110に表示させる(ステップS1415)。このステップS1415では、VDP425に指示し、装飾図柄表示装置110には、「シリアル通信断線」の表示に代えて「左シャッタセンサ未検知」(図22の工程番号1の結果欄参照)が表示される。ステップS1415の実行が終了すると、関数呼出処理(ステップS308)に戻る。
反対に、シャッタ検知結果記憶領域の2ビット目が「1」であれば、シャッタ検査結果が右シャッタ250bについて異常であるか否かを判定する(ステップS1416)。ステップS1416では、シャッタ検知結果記憶領域の1ビット目が「0」であれば、右シャッタセンサ2502について異常であると判定し、シャッタセンサ右異常を示す情報を装飾図柄表示装置110に表示させる(ステップS1417)。すなわち、装飾図柄表示装置110には、「シリアル通信断線」の表示に代えて「右シャッタセンサ未検知」(図22の工程番号1の結果欄参照)が表示される。ステップS1417の実行が終了すると、関数呼出処理(ステップS308)に戻る。
そして、シャッタ検知結果記憶領域の1ビット目が「1」であれば、左右シャッタセンサ2501,2502が正常検知可能であることを示す情報を装飾図柄表示装置110に表示させる(ステップS1418)。ここでは、左右シャッタセンサ2501,2502が正常検知可能であることを示す情報の表示として企画タイトルとバーション番号の表示を行う。すなわち、装飾図柄表示装置110には、「シリアル通信断線」の表示に代えて企画タイトルとバーション番号(図22の工程番号1の結果欄参照)が表示される。ステップS1418の実行が終了すると、関数呼出処理(ステップS308)に戻る。
図30は、副制御部400のCPU404によって実行されるセンタ可動物可動設定処理のフローチャートである。図12に示す0.3msタイマ割込関数テーブルに、センタ可動物可動設定関数(処理)の先頭アドレスが登録されていると、図19(f)に示す0.3msタイマ割込処理におけるステップS952において、その関数の先頭アドレスが呼び出されることで、図30に示すセンタ可動物可動設定処理が実行される。このセンタ可動物可動設定処理では、図3に示す5体の可動人形211に関する処理が行われる。まず、RAM408に用意された設定領域を参照し、検査モード中か否かを判定する(ステップS1501)。検査モード中でなければその他のセンタ可動物可動設定処理を行う(ステップS1502)。ステップS1502の実行が終了すると、関数呼出処理(ステップS952)に戻る。
一方、検査モード中であれば、工程番号カウンタを参照し、検査処理の工程番号が8であるか否かを判定する(ステップS1503)。工程番号が、8でなければその他のセンタ可動物可動設定処理を行い(ステップS1502)、8であれば図28のステップS1306において所定の値をセットした検査開始のウエイトタイマの値が0であるか否かを判定し(ステップS1504)、0であれば、センタ可動物である5体の可動人形211の可動動作を制御する(ステップS1505)。このステップS1505では、図28に示すステップS1305においてRAM408の設定領域に設定された、5体の可動人形211の可動タイミングと、5体の可動人形211の可動パターンに従って、5体の可動人形211の可動動作を制御する。すなわち、副制御部400のCPU404は、図8に示す役物駆動回路426に、本発明にいう第一の遊技用部品の一例に相当する地蔵ソレノイド1〜5の励磁状態と非励磁状態を切り替えさせる状態信号を出力させる。このステップS1505の詳細については、後述するが、ステップS1505を実行する副制御部400が、本発明にいう検査処理手段の一例に相当し、RAM408に設けられたウエイトタイマが、本発明にいうタイマ部の一例に相当する。ステップS1505の実行が終了すると、関数呼出処理(ステップS952)に戻る。
一方、ウエイトタイマの値が0でなければ、今度は、ウエイトタイマの値が、ステップS1306においてセットした所定の値のままであるか否かを判定し、所定の値でなければ、検査開始のウエイトタイマの値を1つデクリメントして(ステップS1507)から、関数呼出処理(ステップS952)に戻る。反対に、ウエイトタイマの値が所定の値のままであれば、5体の可動人形211を動かす総ての地蔵ソレノイド1〜5の状態を非励磁状態に設定する(ステップS1508)。ここでは、図8に示す役物駆動回路426に対して、総ての地蔵ソレノイド1〜5の状態を非励磁状態にするように指示する。こうすることで、図3に示す5体の可動人形211は総て待機位置に戻る。ステップS1508の実行が終了すると、ステップS1507に進む。
図31は、工程番号8の検査の始まりから終わりまでを表すタイミングチャートである。
検査員が図3に示す普図始動口124に入れた球をゲートセンサが検出すると、主制御部300は、副制御部へFE08検査コマンドを送信する。また、主制御部300のCPU304は、図11に示す検査用ROM307に記憶された検査用プログラムに従って、本発明の第2の遊技用部品の一例に相当する特図保留第1LEDおよび特図保留第2LEDを含む特図保留LED118(図3参照)の検査を開始する。まず、主制御部300のCPU304は、副制御部400を介して副制御部400に、特図保留第1LEDに対して点灯信号を出力し続けるように指示する。この指示によって、特図保留第1LEDには点灯信号(Hレベルの信号)が出力され続ける。また、主制御部300のCPU304は、FE08検査コマンドを送信してから所定時間経過後に、副制御部400を介して副制御部400に、特図保留第2LEDに対しても点灯信号を出力し続けるように指示する。この指示によって、特図保留第2LEDにも点灯信号(Hレベルの信号)が出力され続ける。
副制御部400のRAM408にはコマンド記憶部が用意されている。本発明にいう検査指示情報の一例に相当するFE08検査コマンドは、図19(d)に示す主制御部ストローブ割込み処理において受信され、そのコマンド記憶部に記憶される。したがって、RAM408に用意されたコマンド記憶部が本発明にいう指示情報取得部の一例に相当する。副制御部400のCPU404は、主制御部300からのコマンドを受信すると、受信したコマンドの内容を判定し、受信したコマンドがFE08検査コマンドであれば、工程番号8の検査処理を設定する検査動作設定処理(図28のステップS1305)、本発明にいうタイマ部の一例に相当するウエイトタイマに所定の値をセットする(図28のステップS1306)。これらの、コマンド受信、コマンド判定、検査動作設定処理、およびウエイトタイマセットは、特図保留LED118が検査を受けている最中に行われ、本発明にいう準備の一例に相当する。また、特図保留LED118が検査を受けている最中に、図3に示す5体の可動人形211の検査動作準備処理として、図8に示す役物駆動回路426に対して、総ての地蔵ソレノイド1〜5の状態を非励磁状態にするように指示する(図30のステップS1508)。この指示によって、総ての地蔵ソレノイド1〜5には、非励磁状態の状態信号が出力され、総ての地蔵ソレノイド1〜5は、一旦、非励磁状態になり、各ソレノイドのプランジャーは検査開始位置まで引っ込む。この時点で、工程番号8の検査処理の準備は整う。ステップS1508における処理も、本発明にいう準備の一例に相当する。したがって、本実施例では、副制御部400のCPU404は、FE08検査コマンドを受信したことを受けて、本発明にいう準備の一例に相当する各処理を開始し、コマンド受信、コマンド判定、検査動作設定処理、ウエイトタイマセット、および検査動作準備処理それぞれを実行する副制御部400のCPU404が、本発明にいう検査準備部の一例に相当する。
図30のステップS1508の処理が実行されると、ウエイトタイマのカウントダウンが始まる(図30のステップS1507)。その後、ウエイト時間を経て、特図保留LED118の検査が終了する。ここにいうウエイト時間は、厳密には、工程番号8の検査処理の準備が整ってからウエイトタイマの値が0になるまでの時間であるが、工程番号8の検査処理の準備が整うタイミング(総ての地蔵ソレノイド1〜5が非励磁状態になるタイミング)と、ウエイトタイマのカウントダウンが始まるタイミングはほぼ同時期であるため、以下の説明では、ウエイトタイマの値が所定の値から0になるまでの時間と言うことがある。本実施例では、ウエイト時間は3秒である。本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1〜5の検査処理(図30のステップS1505)は、このウエイト時間が経過したタイミングで開始される。すなわち、ウエイトタイマの値が0になると同時に、地蔵ソレノイド1〜5の検査処理が開始される。ウエイトタイマの値が0になることは、本発明にいう所定タイミングが到来したことの一例に相当する。したがって、本実施例では、副制御部400が、本発明にいう所定タイミングが到来したことを、ウエイトタイマの値が0になることによって認識し、所定タイミングが到来すると、本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1〜5についての検査処理(図30のステップS1505)を実行する。また、図30のステップS1507の繰り返しの実行は、本発明にいう待機処理の一例に相当する。ここでは、地蔵ソレノイド1から順に励磁状態にしていくことで、図3の左端に位置する可動人形211から順に1体ずつ可動人形211が突出位置まで出現する。5体総ての可動人形211が突出位置まで出現したら、総ての地蔵ソレノイド1〜5を非励磁状態にし、5体の可動人形211をいっせいに待機位置まで戻し、可動人形211の検査も終了する。
可動人形211の検査が終了すると、副制御部400は、図8に示すスピーカ416に検査終了音を出力させる。こうして、工程番号8の検査処理が終了する。
以上説明したように、本実施例では、本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1〜5の検査準備を、本発明の第2の遊技用部品の一例に相当する特図保留第1LEDおよび特図保留第2LEDの検査中に行っておくことで、地蔵ソレノイド1〜5の検査をすぐに行うことが可能である。特に、製造段階にベルトコンベア等を用いてパチンコ機100を製造する場合には、僅かな時間でも検査台数が増えれば大きな時間ロスになってしまうため、少しの時間削減も効果が高い。製造方式が1人1台全部作製する方式であればなおさらである。
また、ウエイト時間を設けることで、地蔵ソレノイド1〜5の検査タイミングと、特図保留第1LEDおよび特図保留第2LEDの検査タイミングとを容易に調整可能である。さらに、待機処理を入れることで、コマンド数を削減することが可能になる。
さらに、特図保留第1LEDおよび特図保留第2LEDの検査は、出荷時に取り外される検査用ROM307に記憶された検査用プログラムに従って行われるが、このような検査用ROM307を用いる検査とも連携した検査を行うことができる。
またさらに、本実施例では、副制御部400のCPU404は、主制御部300からのFE08検査コマンドを受信したことを受けて、本発明にいう準備の一例に相当する各処理を開始する。こうすることで、仮に、主制御部300が、特図保留第1LEDおよび特図保留第2LEDの検査中にノイズなどの原因によりプログラムが暴走してしまった場合でも、地蔵ソレノイド1〜5の検査は行うことができ、異常個所の特定が容易になる。
また、本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1〜5は、副制御部400によって制御されるものである。一方、本発明の第2の遊技用部品の一例に相当する特図保留第1LEDおよび特図保留第2LEDは、図8に示す演出制御部700によって制御されるものである。したがって、両者は、異なる制御手段によって制御される遊技用部品である。制御手段が異なると、連携した検査動作を行うことが難しくなるが、本実施例では、工程番号8の検査処理において連携した検査動作が行われる。また、制御手段が異なっていても、検査タイミングの調整が容易に行え、検査タイミングを調整することで検査時間を短縮することが可能になる。
ところで、これまでの説明では、本発明の第1の遊技用部品として地蔵ソレノイド1〜5を例にあげたが、本発明の第1の遊技用部品に相当する部品は、本発明の第2の遊技用部品に相当する部品と異なる遊技用部品であればよく、例えば、特図保留第1LEDおよび特図保留第2LED以外のLED(図3に示す普図保留LED等)であってもよい。また、地蔵ソレノイド1〜5は、遊技の演出を行う演出部品の一つであるが、本発明の第1の遊技用部品に相当する部品は、他の演出部品であってもよい。例えば、図1に示すガラス枠156の様々な所に設けられた白色LED(枠側照明白色LED)や、図5に示すシャッタ可動物250であってもよい。特に、シャッタ可動物250等の可動物の検査では、可動物(左右シャッタ250a,250b等)を検知するセンサ(左右シャッタセンサ2501,2502等)近傍まで可動物を移動させることが多く、本発明を適用すれば、効果が大きい。
また、本発明の第2の遊技用部品に相当する部品は、第1の遊技部品に相当する部品の近傍に配置されたものであることが好ましい。近傍に設けられた遊技用部品は、同一の検査工程で検査すると、検査員にとって検査を行いやすく好ましい。さらに、本発明の第2の遊技用部品に相当する部品は、第1の遊技用部品に相当する部品を制御する制御手段とは異なる制御手段によって制御されるものであることが好ましく、本実施例では、演出制御手段700によって制御されるものであったが、図11に示す検査用ROM307を備えた検査用制御手段によって制御されるものでもよい。また、本発明の第2の遊技用部品に相当する部品は、第1の遊技用部品に相当する部品を制御する制御手段に対して、遊技処理では使用されない動作コマンドを出力するものであってもよい。
ここで、本発明の第2の遊技用部品に相当する部品を制御する制御手段についていえば、その制御手段は、本発明の第1の遊技用部品に相当する部品を制御する制御手段と一方向の通信を行うものであってもよい。また、図11に示す検査用ROM307が取り付けられた主制御部300であってもよく、さらには、その検査用ROM307を備えた検査用回路や外部検査装置(パーソナルコンピュータ等)であってもよい。
また、本実施例では、上記検査動作準備処理として、図30のステップS1508の処理を例にあげたが、検査動作準備処理は、これに限らず、本発明の第1の遊技用部品に相当する部品の状態を統一する処理であってもよい。例えば、複数のLEDが第1の遊技用部品に相当する場合であれば、それら複数のLEDを総て消灯させる処理であってもよい。また、検査動作準備処理は、他の演出部品によって隠されることがある演出部品が、第1の遊技用部品に相当する場合であれば、当該他の演出部品を動かす処理であってもよい。例えば、シャッタの背面(奧)にあるランプが第1の遊技用部品に相当する場合であれば、シャッタを開く処理であってもよい。
また、本実施例における検査動作準備処理は、副制御部400が、所定のコマンドであるFE08検査コマンドを受信したことを受けて、処理を開始する。検査動作準備処理の処理開始の契機となるコマンドは、本発明の第1の遊技部品に相当する部品を制御する制御手段以外の制御手段から出力されるコマンドであればよく、本発明の第2の遊技部品に相当する部品を制御する制御手段から出力されるコマンドであってもよい。また、このコマンドは、遊技処理では使用されないコマンドであってもよい。さらに、本発明の第2の遊技部品に相当する部品の検査が所定のタイミングになったことに基づいて出力されるコマンドであってもよい。また、本発明の第2の遊技部品に相当する部品の検査開始の際に出力されるコマンドであってもよい。このコマンドの出力タイミングは、複数の検査工程毎に統一しておくことで、特に、検査用ROM307に記憶されるプログラムを作製する者の作業負担が軽減される。
さらに、検査動作準備処理の処理開始の契機としては、コマンド受信に限らず、電源投入しながら所定の入力(例えば、図1に示す演出ボタン146を押下)を行う態様であってもよい。
さらに、たとえば、検査工程8で地蔵ソレノイドを動作させた後に枠側照明白色LEDを点灯させるとした場合に、副制御部は、主制御部から送信されたFE08の検査コマンドを受信後、検査準備処理として、演出制御部に対して枠側照明白色LED点灯コマンドを出力してもよい。この場合、演出制御部は副制御部からのコマンドを受けて、ウエイトしてから枠側照明白色LEDを点灯させるようにしてもよい。このように、検査準備処理として、他の制御基板にコマンドを出力するようにしてもよい。
さらに、たとえば、検査工程8で地蔵ソレノイドを動作させた後に「検査工程8検査終了」と画像表示させるとした場合に、副制御部は、主制御部から送信されたFE08の検査コマンドをを受信後、検査準備処理として、CROMからVRAMの表示領域外に「検査工程8終了」の画像データを転送しておいてもよい。この場合、所定のタイミングとなったことでVRAMの表示領域外から表示領域に画像データを転送することで、画像表示に要する時間を軽減することができる場合がある。
<演出制御部メイン処理>
次に、図32(a)を用いて図8に示す演出制御部700のメイン処理について説明する。同図(a)は、演出制御部700のCPU704によって実行される演出制御メイン処理のフローチャートであり、CPU704は、電源の投入後、電源の遮断などがない限りこのメイン処理を繰り返し実行する。
ステップS1611では、初期化処理を行う(ステップS1611)。この初期化処理では、CPU704に設けられたTPU(Tread Processing Unit)の初期化、図8に示すWDT713の初期化、ランプ処理初期化等を行う。また、演出制御部700のRAM708には更新タイミング判定用カウンタが用意されており、その更新タイミング判定用カウンタの値を0にセットする。
続いて、更新タイミングか否かの判定を行う(ステップS1612)。ここでは、10msが経過する度に更新タイミングが訪れる。CPU704は、RAM708に用意された更新タイミング判定用カウンタの値が10になると、更新タイミングが訪れたと判定するとともに、更新タイミング判定用カウンタの値を0に戻す。このステップS1612は、更新タイミングが訪れるまで繰り返し実行され、更新タイミングが訪れると、後述するコマンド判定処理(S1613)に進む。次に、ランプ点灯処理(ステップS1614)を行い、ステップS1612に戻る。
図32(b)は、1msタイマ割り込み処理のフローチャートである。演出御部700は、所定の周期(本実施例では約1msに1回)でタイマ割り込み信号を発生するカウンタタイマ712を備えており、このタイマ割り込み信号を契機としてこの1msタイマ割り込み処理を開始する。ステップS1621では、RAM708に用意された更新タイミング判定用カウンタの値を1つインクリメントする。
図32(c)は、ランプ割り込み処理のフローチャートである。演出制御部700は、図8に示す演出拡張基板750(図8ではLED基板760は一方向のため演出拡張基板750にしました)から割込信号がに送信されてくると、このランプ割り込み処理を開始する。ステップS1631では、ランプ点灯演出制御処理が行われる。
図32(d)は、コマンド受信割り込み処理のフローチャートである。演出制御部700は、副制御部400からコマンドが送信されてくると、このコマンド受信割り込み処理を開始する。ステップS1641では、副制御部400が出力したコマンドをRAM408に設けたバッファ領域に記憶する。
図33は、図32(a)に示す演出制御メイン処理のステップS1613におけるコマンド判定処理のフローチャートである。
このコマンド判定処理は、演出制御部700のCPU704によって実行される。まず、図32(d)に示すコマンド受信割り込み処理のステップS1641において、RAM408のバッファ領域に記憶したコマンドが、通信確認コマンドであるか否かを判定する(ステップS1701)。この通信確認コマンドは、図29に示す検査表示実行処理において、検査工程1の検査処理中(S1405)に副制御部400から送信されたコマンドである。通信確認コマンドでなければ、その他のコマンド判定処理を行い(ステップS1702)、図32(a)に示す演出制御メイン処理に戻る。一方、通信確認コマンドであれば、副制御部400に対して、図8に示す演出制御部700のP−POM706のバージョン情報とRAM708におけるチェックサムの算出値を表すアンサーコマンドを送信する(ステップS1703)。こうして送信されるアンサーコマンドについて、図29に示す検査表示実行処理におけるステップS1407では受信したか否かを判定し、ステップS1408では、P−POM706のバージョン情報とRAM708におけるチェックサムの算出値それぞれが、所定値であるか否かを判定する。ステップS1703の実行が終了すると、図32(a)に示す演出制御メイン処理に戻る。
続いて、本実施例の変形例について説明する。変形例の説明では、実施例の説明と重複する説明は省略することがある。
図34は、第1変形例のパチンコ機100における、工程番号8の検査の始まりから終わりまでを表すタイミングチャートである。
この第1変形例では、ゲートセンサが球を検出しても、主制御部300は、特図保留LED118の検査はすぐに開始するものの、副制御部へFE08検査コマンドをすぐには送信せず、特図保留LED118の検査が終了する少し前に送信する。したがって、図30のステップS1508における処理を実行する暇はなく、ウエイトタイマの処理も行われない。すなわち、主制御部300が副制御部400にFE08検査コマンドを送信すると、副制御部400は、コマンド受信、コマンド判定、および検査動作設定処理を行う。したがって、この第1変形例では、コマンド受信、コマンド判定、および検査動作設定処理それぞれを実行する副制御部400のCPU404が、本発明にいう検査準備部の一例に相当する。なお、本発明にいう検査準備部は、コマンド受信およびコマンド判定を少なくとも実行するものであってもよく、それら2つの処理に加えて上述の検査動作準備処理を少なくとも実行するものであってもよい。
この第1変形例では、ウエイトタイマの処理が行われないことから、副制御部400は、検査処理の準備が整い次第、地蔵ソレノイド1〜5の検査処理を開始する。なお、この図34では、地蔵ソレノイド1〜5の検査処理の開始タイミングが、特図保留LED118の検査終了タイミングに同期しているが、これは、プログラムの設計段階で、FE08検査コマンドの主制御部300から副制御部400への送信タイミングを調整しているからである。
図35は、第2変形例のパチンコ機100における、工程番号8の検査の始まりから終わりまでを表すタイミングチャートである。
この第2変形例では、副制御部400のRAM408に用意されたウエイトタイマを用いて、2種類のウェイト時間を計時する。まず、副制御部400のCPU404は、FE08検査コマンドを受信すると、ウエイトタイマに第1の所定値と第2の所定値をセットする。副制御部400のCPU404は、図30のステップS1508において、総ての地蔵ソレノイド1〜5の状態を非励磁状態にするように指示した後、ウエイトタイマのカウントダウンを始める。総ての地蔵ソレノイド1〜5が一旦、非励磁状態になった時点で、工程番号8の検査処理の準備は整う。
第1のウエイト時間(ウエイトタイマの値が第1の所定値から0になるまでの時間;例えば1秒)が経過すると、本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1の検査処理を開始する。すなわち、副制御部400は、第1のウエイト時間が経過したタイミングで、地蔵ソレノイド1を励磁状態にすることを指示する。ここでの説明では、5つの地蔵ソレノイド1〜5の検査処理を、ひとまとめにした検査処理としてとらえるのではなく、5つの地蔵ソレノイド1〜5それぞれの検査処理を、一つの検査処理としてとらえる。その後、地蔵ソレノイド2も励磁状態にすることを指示し、やがて、第2のウエイト時間(ウエイトタイマの値が第2の所定値から0になるまでの時間;例えば4秒)が経過すると、地蔵ソレノイド3を励磁状態にすることを指示する。第2のウエイト時間が経過したタイミングは、主制御部300による特図保留LED118の検査が終了するタイミングに一致しており、上記第2の所定値は、特図保留LED118の検査が終了するタイミングに合うように設けられた値である。したがって、ウエイトタイマの値が第2の所定値から0になるタイミングは、本発明の第2の遊技用部品の一例に相当する特図保留第2LEDの検査が終了するタイミングであり、このタイミングは、本発明にいう所定タイミング一例に相当する。この第2変形例では、特図保留LED118の検査が終了したタイミングが到来すると、地蔵ソレノイド3の検査処理が実行される。
図36は、第3変形例のパチンコ機100における、工程番号8の検査の始まりから終わりまでを表すタイミングチャートである。
この第3変形例では、FE08検査コマンドの他に準備コマンドが用いられる。FE08検査コマンドが工程番号8の検査処理の実行を指示するコマンドであるのに対して、この準備コマンドは、工程番号8の検査処理の準備を指示するコマンドである。また、ウエイトタイマの処理も行われない。
検査員が図3に示す普図始動口124に入れた球をゲートセンサが検出すると、主制御部300は、副制御部へFE08検査コマンドを送信する前に、準備コマンドを送信する。また、主制御部300は、特図保留LED118の検査を開始する。
副制御部400のCPU404は、主制御部300から、工程番号8の検査処理の準備を指示する準備コマンドを受信すると、工程番号8の検査処理を設定する。また、総ての地蔵ソレノイド1〜5の状態を非励磁状態にするように指示する。この第3変形例では、検査処理の設定と、地蔵ソレノイド1〜5の非励磁状態への処理が、本発明にいう準備の一例に相当する。総ての地蔵ソレノイド1〜5が一旦、非励磁状態になった時点で、工程番号8の検査処理の準備は整う。
主制御部300は、特図保留LED118の検査処理が終了するタイミングで、副制御部400へFE08検査コマンドを送信する。副制御部400がFE08検査コマンドを受信すると、検査処理の準備は整っているため、副制御部400は、本発明の第1の遊技用部品の一例に相当する地蔵ソレノイド1〜5の検査処理を即座に開始する。したがって、この第3変形例では、ウエイト時間は、工程番号8の検査処理の準備が整ってから(総ての地蔵ソレノイド1〜5が非励磁状態になってから)工程番号8の検査処理の実行を指示するFE08検査コマンドを受信するまでの時間になる。副制御部400は、FE08検査コマンドを受信したことを受けて、本発明にいう所定タイミングが到来したことを認識する。したがって、この第3変形例における地蔵ソレノイド1〜5の検査処理の開始は、特図保留LED118の検査処理が終了するまで待っていることになるとともに、所定のコマンドの受信を契機にしていることにもなる。このように、地蔵ソレノイド1〜5の検査処理の開始が、特図保留LED118の検査処理が終了するまで待つことによって、検査に順番が生まれ、検査員の検査を行いやすくすることができる。また、地蔵ソレノイド1〜5の検査処理の開始は、FE08検査コマンドの受信を待つことにもなり、コマンド待ち処理を入れることによって、検査タイミングが容易に調整可能になる。
以上、本発明をパチンコ機(弾球遊技機)に適用させた実施例について詳細に説明したが、本発明の遊技台は、これに限るものではなく、例えば、メダルや遊技球(パチンコ球)を使用する回胴遊技機(スロットマシン)にも適用可能である。また、本発明を、アレンジボール遊技機、じゃん球遊技機、ピンボールマシン、に適用してもよい。また、本発明を、遊技媒体の投入を契機として遊技可能となる遊技機(例えば、カジノマシン、ビデオゲームマシン、封入式のパチンコ遊技機)、遊技媒体自体を遊技に使用する遊技機(例えば、メダル落としゲーム機)に適用してもよい。ここで、「遊技媒体の投入」とは「賭ける」を意味し、「ベット」とも同意である。「遊技媒体の投入」は、「通貨の投入」や「電子マネーの投入」を含む。カジノマシンとは、通貨の投入により遊技が開始可能となり、抽選結果が当選の場合に、該当選結果に対応付けられて設定された図柄が停止し、遊技者に特典となる払出しを行う、カジノマシンである。