遊技台
【課題】演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止できる遊技台を提供する。
【解決手段】遊技台は、遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備える。
【解決手段】遊技台は、遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ、スロットマシン(パチスロ)に代表される遊技台に関する。
【背景技術】
【0002】
例えば、パチンコ機などの遊技台では、遊技盤の遊技領域に、遊技球が入賞可能な始動口と、複数個の図柄を変動表示可能な図柄表示部を備え、始動口に遊技球が入賞すると、図柄表示部の図柄を所定時間変動して、変動後の図柄が予め定めた特定図柄の組み合わせである特定態様になった場合に、可変入賞手段を所定時間開放させる等、遊技者に有利な遊技状態を発生させるようにしている。
【0003】
この種の遊技台では、図柄表示部の図柄が特定態様のうち特別態様になった場合に遊技者に有利な遊技状態として大当り状態を生起するといったゲーム性を有するものが存在する。
【0004】
また、このような遊技球を用いたゲーム状況の変化に応じて所定の演出装置により演出を行い、遊技者の興趣を喚起するようになっている。
【0005】
このような遊技台の遊技進行を制御する制御基板は、演出装置を正確に制御することで、遊技の面白みを向上させることを可能としており、そのため遊技盤に関わる制御を行う主制御機能と、音声発生手段で発生させるべき効果音を制御する音声制御機能とを別々の制御基板に備えることでそれぞれの制御基板上の制御手段の回路構成を簡単にできるようにした遊技台が提案されている(例えば、特許文献1参照。)。
【0006】
【特許文献1】特開2000−262670号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述したように演出制御手段を主制御基板から独立させることで制御手段の回路構成を簡単化し、演出装置を正確に制御することに加えて、ゲームの状況に応じてより多彩に演出装置を制御して遊技をより面白みのあるものにしてほしいといった要望が高まっている。その要望実現のためには演出装置を制御するためのプログラムやデータの大きさが大きくなってしまうという問題がある。
【0008】
本発明は上記の問題を解決するためになされたものであり、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止できる遊技台を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明に係る遊技台は、次のように構成される。
【0010】
本発明に係る遊技台は、その一態様として、遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備えたことを特徴とする。
【発明の効果】
【0011】
本発明の遊技台によれば、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止することができる。この結果、演出装置の演出動作の多様化を促進することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について図面を用いて説明する。本発明の実施形態においては、本発明を遊技台の一例であるパチンコ機に適用した場合について説明している。
【0013】
<全体構成>
まず、図1を用いて、本発明の実施形態に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
【0014】
パチンコ機100は、ガラス製または樹脂製の透明板部材152および透明部材保持枠154からなる扉部材156の奥側にガラスを通して視認可能に配設した後述する遊技盤(盤面)102を備えている。
【0015】
扉部材156の下方には、後述する発射モータ602によって回動する発射杆138と、この発射杆138の先端部に取り付けて球を後述する遊技領域104に向けて打ち出す発射槌140と、この発射槌140によって打ち出す球を後述する外レール106に導くための発射レール142と、球を一時的に貯留すると共に、貯留している球を順次、発射レール142に供給するための貯留皿144と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に後述する装飾図柄表示装置110等による演出表示を変化させるためのチャンスボタン146を配設している。
【0016】
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。
【0017】
図2は、遊技盤102を正面から見た略示正面図である。遊技盤102には、外レール106と内レール108とを配設し、遊技球(以下、単に「球」と称する場合がある。)が転動可能な遊技領域104を区画形成している。
【0018】
遊技領域104の略中央には、演出装置200を配設している。この演出装置200には、略中央に横長の装飾図柄表示装置110を配設し、その周囲に、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留ランプ116と、特別図柄保留ランプ118と、高確中ランプ120を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
【0019】
演出装置200は、可動部を動作して演出を行うものであり、詳細については後述する。
【0020】
装飾図柄表示装置110は、装飾図柄(図4(b)参照)ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施形態では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置110は、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cおよび演出表示領域110dの4つの表示領域に分割し、左図柄表示領域110a、中図柄表示領域110bおよび左図柄表示領域110cはそれぞれ異なった装飾図柄を表示し、演出表示領域110dは演出に用いる画像を表示する。さらに、各表示領域110a、110b、110c、110dの位置や大きさは、装飾図柄表示装置110の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置110は、液晶表示装置に代えて、ドットマトリクス表示装置、7セグメント表示装置、EL(ElectroLuminescence)表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
【0021】
普図表示装置112は、普図(図4(c)参照)の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。特図表示装置114は、特図(図4(a)参照)の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。
【0022】
普図保留ランプ116は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、普図変動遊技を2つまで保留することを可能としている。特図保留ランプ118は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、特図変動遊技を4つまで保留することを可能としている。高確中ランプ120は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
【0023】
また、この演出装置200の周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。
【0024】
一般入賞口122は、本実施形態では遊技盤102に複数配設しており、この一般入賞口122への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置552を駆動し、所定の個数(本実施形態では10個)の球を賞球として後述する貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施形態では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
【0025】
普図始動口124は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施形態では遊技盤102の左側に1つ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の玉検出センサが検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
【0026】
第1特図始動口126は、本実施形態では遊技盤102の中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では3個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0027】
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施形態では第1特図始動口126の真下に1つだけ配設している。この第2特図始動口128は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では5個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0028】
可変入賞口130は、大入賞口またはアタッカーと呼ばれ、本実施形態では遊技盤102の中央部下方に1つだけ配設している。この可変入賞口130は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では15球)の球を賞球として後述する貯留皿144に排出する。なお、可変入賞口130に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0029】
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材132や、遊技釘134を複数個、配設していると共に、内レール108の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口136を設けている。
【0030】
このパチンコ機100は、遊技者が貯留皿144に貯留している球を発射レール142の発射位置に供給し、遊技者の操作ハンドル148の操作量に応じた強度で発射モータ602を駆動し、発射杆138および発射槌140によって外レール106、内レール108を通過させて遊技領域104に打ち出す。そして、遊技領域104の上部に到達した球は、打球方向変換部材132や遊技釘134等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口124を通過するのみでアウト口136に到達する。
【0031】
次に、パチンコ機100の演出装置200について説明する。
【0032】
この演出装置200の前面側には、ワープ装置230およびステージを配設し、演出装置200の背面側には、装飾図柄表示装置110および遮蔽手段250を配設している。すなわち、演出装置200において、装飾図柄表示装置110および遮蔽手段250は、ワープ装置230およびステージの後方に位置することとなる。
【0033】
ワープ装置230は、演出装置200の左上方に設けた入球口232に入った遊技球を演出装置200の前面下方の前面ステージ234に排出し、さらに、前面ステージ234に排出した遊技球が前面ステージ234の中央部後方に設けた第2の入球口236に入った場合は、遊技球を、第1特図始動口126の上方である演出装置200の下部中央に設けた排出口238から第1特図始動口126に向けて排出するものである。この排出口238から排出した遊技球は特図始動口126に入球しやすくなっている。
【0034】
遮蔽手段250は、格子状の左扉250aおよび右扉250bからなり、装飾図柄表示装置110および前面ステージ234の間に配設する。左扉250aおよび右扉250bの上部には、図示しない2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉250aおよび右扉250bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段250は、左右扉250a、250bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置110を視認し難いように遮蔽する。左右扉250a、250bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置110の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置110の表示の全てを視認可能である。また、左右扉250a、250bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左右扉250a、250bは、格子の孔から後方の装飾図柄表示装置110の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置110による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置110を全く視認不可にしてもよい。
【0035】
図3は、パチンコ機100を背面側から見た外観斜視図である。
【0036】
パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク152と、この球タンク152の下方に位置し、球タンク152の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置154に導くためのタンクレール153とを配設している。
【0037】
払出装置154は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158とを備えている。
【0038】
スプロケット157は、モータによって回転可能に構成されており、タンクレール153を通過して払出装置154内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置154の下方へ1個ずつ送り出すように構成している。
【0039】
払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
【0040】
払出装置154の左側には、後述する主制御部300を構成する主基板161と、後述する副制御部400を構成するサブ基板164とを配設している。また、これら主基板161やサブ基板164の下方には、後述する発射制御部600を構成する発射基板166と、後述する電源管理部650を構成する電源基板162と、後述する払出制御部550を構成する払出基板165と、この払出基板165に接続したCRインターフェース部163とを配設している。
【0041】
<図柄の種類>
次に、図4(a)〜(c)を用いて、パチンコ機100の特図表示装置114、装飾図柄表示装置110、普図表示装置112が停止表示する特図および普図の種類について説明する。
【0042】
図4(a)は特図の停止表示態様の一例を示したものである。本実施形態の特図の停止表示態様には、大当たり図柄である「特図1」と、特別大当たり図柄である「特図2」と、外れ図柄である「特図3」の3種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置114は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図の変動表示」を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技の当選を報知する場合には「特図1」または「特図2」を停止表示し、特図変動遊技の外れを報知する場合には「特図3」を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
【0043】
図4(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に大当たりに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
【0044】
図4(c)は普図の停止表示態様の一例を示したものである。本実施形態の普図の停止表示態様には、当たり図柄である「普図1」と、外れ図柄である「普図2」の2種類がある。普図始動口124を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置112は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図1」を停止表示し、普図変動遊技の外れを報知する場合には「普図2」を停止表示する。
【0045】
<制御部>
次に、図5を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
【0046】
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に演出の制御を行う副制御部400と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部550と、遊技球の発射制御を行う発射制御部600と、パチンコ機100に供給される電源を制御する電源管理部650によって構成している。
【0047】
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
【0048】
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312を搭載している。なお、ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する副制御部400についても同様である。この基本回路302のCPU304は、水晶発信器314が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【0049】
また、基本回路302には、水晶発信器314が出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路316(この回路には2つのカウンタを内蔵しているものとする)と、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ318が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路316および基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留ランプ116、特図保留ランプ118、高確中ランプ120等)の表示制御を行うための表示回路328と、第2特図始動口128や可変入賞口130等を開閉駆動する各種ソレノイド330を制御するためのソレノイド回路332を接続している。
【0050】
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
【0051】
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路652にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
【0052】
また、主制御部300は、副制御部400にコマンドを送信するための出力インタフェースと、払出制御部550にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部400および払出制御部550との通信を可能としている。
【0053】
<副制御部>
次に、パチンコ機100の副制御部400について説明する。
【0054】
副制御部400は、主に主制御部300が送信したコマンド等に基づいて副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【0055】
また、基本回路402には、スピーカ416(およびアンプ)の制御を行うための音源IC418と、各種ランプ420の制御を行うための表示回路422と、演出装置200の演出用可動体等を駆動する駆動装置であるソレノイドまたはモータ等が含まれる各種演出用駆動装置424の制御を行うための演出用駆動装置制御回路426と、装飾図柄表示装置(液晶表示装置)110および遮蔽手段250の制御を行うための副制御部500と、チャンスボタン146の押下を検出して信号を出力するチャンスボタン検出回路380を接続している。
【0056】
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部550、発射制御部600、電源管理部650について説明する。
【0057】
払出制御部550は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置552を制御すると共に、払出センサ554が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部556を介して、パチンコ機100とは別体で設けられたカードユニット654との通信を行う。
【0058】
発射制御部600は、払出制御部550が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ602の制御や、貯留皿144から発射レール142に球を供給する球送り装置604の制御を行う。
【0059】
電源管理部650は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、副制御部400等の各制御部や払出装置552等の各装置に供給する。さらに、電源管理部650は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。
【0060】
<主制御部のデータテーブル>
次に、図6を用いて、パチンコ機100の主制御部300のROM306が記憶しているデータテーブルについて説明する。なお、同図(a)は大当たり判定テーブルの一例を、同図(b)は高確率状態移行判定テーブルの一例を、同図(c)はタイマ番号決定テーブルの一例を、それぞれ示した図である。
【0061】
図6(a)に示す大当たり判定テーブルは、RAM308に設けた遊技状態格納領域に記憶している情報(以下、単に「遊技情報」と称する。)の種類と、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第1特図始動口用抽選データ)と、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第2特図始動口用抽選データ)と、を対応付けて記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報を用いて特図変動遊技を当選(大当たり)とするか、不当選(外れ)とするかの決定、すなわち「大当たり判定」を行う。なお、「遊技情報」は、特図変動遊技を所定の低確率で当選と判定する低確率状態を示す情報、および低確率よりも高い高確率で特図変動遊技を当選と判定する高確率状態を示す情報等を含むが、以下、これらを単に「低確率状態」および「高確率状態」と称する。また、遊技状態格納領域に記憶する情報には別の情報もあるが、これらの情報については後述する。
【0062】
第1特図始動口用抽選データは、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値(乱数値については後述する)が10001〜10187であるときは、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が10001〜10187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施形態では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第1特図始動口用抽選データが示す数値範囲は10001〜10187(数値範囲の大きさは187)であるから、低確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第1特図始動口用抽選データが示す数値範囲は30001〜31310(数値範囲の大きさは1310)であるから、高確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
【0063】
第2特図始動口用抽選データは、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値が20001〜20187であるときには、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が20001〜20187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施形態では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第2特図始動口用抽選データが示す数値範囲は20001〜20187(数値範囲の大きさは187)であるから、低確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第2特図始動口用抽選データが示す数値範囲は40001〜41310(数値範囲の大きさは1310)であるから、高確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
【0064】
図6(b)に示す高確率状態移行判定テーブルは、上述の大当たり判定の結果、大当たりと判定した場合に使用する抽選データを記憶したデータテーブルである。
【0065】
主制御部300の基本回路302は、この高確率状態移行判定テーブルを用いて、特図変動遊技の終了後に大当たり遊技を開始するか、または特別大当たり遊技を開始するかの判定、すなわち確変移行判定を行う。例えば、取得した特図乱数値(乱数値については後述する)が64〜127の数値である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特図変動遊技の終了後に特別大当たり遊技を開始することを示す情報を設定する(ここで、確変フラグの格納領域に特別大当たり遊技開始の情報を設定することを確変フラグをオンに設定するという)。一方、取得した特図乱数値が64〜127の数値以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、確変フラグの格納領域に大当たり遊技開始の情報を設定することを確変フラグをオフに設定するという)。なお、本実施形態では、特図乱数値の取り得る数値範囲は0〜127(数値範囲の大きさは128)、抽選データの移行判定乱数の範囲は64〜127(数値範囲の大きさは64)であるから、大当たり判定の結果が当選である場合に確変移行判定の結果を当選にする確率、すなわち特別大当たりを開始する確率は1/2(=64/128)である。
【0066】
図6(c)に示すタイマ番号決定テーブルは、特図表示装置114による特図の変動表示を開始してから停止表示をするまでの変動時間を示すタイマ番号を決定するための抽選に使用する抽選データを記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報と、上記の大当たり判定結果(後述する大当たりフラグの値)および後述するタイマ乱数の値に基づいて、タイマ番号を決定する。なお、本実施形態では、特図タイマ乱数値(乱数値については後述する)の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、上記の大当たり判定結果が不当選の場合は、タイマ1のタイマ乱数の範囲は0〜60235(数値範囲の大きさは60236)であるから、タイマ番号としてタイマ1(変動時間5秒、リーチなし)を選択する確率は60236/65536である。また、タイマ番号として、タイマ2(変動時間10秒、ノーマルリーチ)を選択する確率は4250/65536、タイマ3(変動時間20秒、ロングリーチ)を選択する確率は800/65536、タイマ3(変動時間40秒、マルチラインリーチ)を選択する確率は250/65536である。一方、大当たり判定結果が当選の場合は、タイマ2のタイマ乱数の範囲は0〜15535(数値範囲の大きさは15536)であるから、タイマ番号としてタイマ2(変動時間10秒、ノーマルリーチ)を選択する確率は15535/65536である。また、タイマ番号として、タイマ3(変動時間20秒、ロングリーチ、ノーマルリーチ(再変動))を選択する確率は9000/65536、タイマ4(変動時間40秒、マルチラインリーチ)を選択する確率は38000/65536、タイマ5(変動時間50秒、全回転リーチ)を選択する確率は3000/65536である。
【0067】
<主制御部メイン処理>
次に、図7を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【0068】
主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割り込みによりリセットスタートしてROM306に予め記憶している制御プログラムに従って処理を実行する。
【0069】
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定、割り込みマスクの設定、I/Oポート310の初期設定、RAM308に記憶する各種変数の初期設定、WDTへの初期値の設定等を行う。なお、本実施形態では、WDTに、初期値として32.8msに相当する数値を設定する。
【0070】
ステップS102では、WDTのリセットを行い、WDTによる時間計測を再始動する。
【0071】
ステップS103では、低電圧信号がオンであるか否か、すなわち、主制御部300に設けられた電圧監視回路336が、電源管理部650から主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS102に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS104に進む。
【0072】
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタタイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
【0073】
ステップS105では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはステップS107に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS107に進む。
【0074】
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS107に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS107に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS106に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS107に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS107に進む。
【0075】
ステップS106では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS108、ステップS109内の所定の)命令の次の命令から処理を再開する。
【0076】
ステップS107では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
【0077】
ステップS108では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS109に進む。
【0078】
ステップS109では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【0079】
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS108およびS109の処理を繰り返し実行する。
【0080】
<主制御部タイマ割り込み処理>
次に、図8を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
【0081】
主制御部300は、所定の周期(本実施形態では約2msに1回)でタイマ割り込み信号を発生するカウンタタイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
【0082】
ステップS201では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
【0083】
ステップS202では、WDTのカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施形態では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。
【0084】
ステップS203では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述のガラス枠開放センサ、前枠開放センサ、下皿満タンセンサ、複数の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。本実施形態では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【0085】
また、ステップS203では、上述の前々回検出信号記領域、前回検出信号記領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定する。そして、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)への入球、または普図始動口124の通過があったと判定する。例えば、一般入賞口122への入球を検出する球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口122へ入球したと判定し、以降の一般入賞口122への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口122への入球に伴う処理を行わずに後続の処理に分岐する。
【0086】
ステップS204およびステップS205では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS108で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する普図当選乱数値および特図乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。
【0087】
ステップS206では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【0088】
ステップS207では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【0089】
ステップS208では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
【0090】
ステップS209では、入賞受付処理を行う。この入賞受付処理では、第1、第2特図始動口126、128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、入賞した始動口に対応するカウンタ回路316のカウンタ値記憶用レジスタから値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。また、普図始動口124を球が通過したことを検出し、且つ、保留している普図変動遊技の数が2未満の場合には、そのタイミングにおける普図当選乱数値生成用の乱数カウンタの値を普図当選乱数値として取得し、RAM308に設けた上述の特図用とは別の乱数値記憶領域に記憶する。また、この入賞受付処理では、所定の球検出センサにより第1、第2特図始動口126、128、普図始動口124、または可変入賞口の入賞(入球)を検出した場合に、副制御部400に送信すべき送信情報に、第1、第2特図始動口126、128、普図始動口124、および可変入賞口の入賞(入球)の有無を示す入賞受付情報を設定する。
【0091】
ステップS210では、払出要求数送信処理を行う。なお、払出制御部550に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に今回加工種別(0〜3)、およびビット0〜3に加工後の払出要求数を示すようにしている。
【0092】
ステップS211では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(普図汎用タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【0093】
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、図4(c)に示す普図1の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、図4(c)に示す普図2の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
【0094】
また、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間(例えば2秒間)、第2特図始動口128の羽根部材の開閉駆動用のソレノイド330に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
【0095】
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド330に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【0096】
また、所定の閉鎖期間を経過したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップS212に移行するようにしている。
【0097】
ステップS212では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口128の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
【0098】
ステップS213では、特図状態更新処理を行う。この特図状態更新処理は、特図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、特図変動中(特図汎用タイマの値が1以上)における特図状態更新処理では、特図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【0099】
また、特図変動表示時間が経過したタイミング(特図表示図柄更新タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に図4(a)に示す特図1、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に図4(a)に示す特図2、大当たりフラグがオフの場合には、図4(a)に示す特図3の態様となるように特図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。また、コマンド設定送信処理(ステップS215)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に02Hを送信情報(一般情報)として追加記憶する。
【0100】
また、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に04Hを送信情報(一般情報)として追加記憶する。
【0101】
また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に10Hを送信情報(一般情報)として追加記憶する。
【0102】
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に20Hを送信情報(一般情報)として追加記憶する。
【0103】
また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に08Hを送信情報(一般情報)として追加記憶する。
【0104】
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。特図の状態が非作動中の場合における特図状態更新処理では、何もせずに次のステップS214に移行するようにしている。
【0105】
ステップS214では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、上述の図6(a)の大当たり判定テーブル、同図(b)の高確率状態移行判定テーブル、同図(c)のタイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、図6(a)に示す大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
【0106】
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
【0107】
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS209で乱数値記憶領域に記憶した特図乱数値が、図6(b)に示す移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオフに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオンに設定する。
【0108】
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含む図6(c)に示すタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS215)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に送信情報(一般情報)として追加記憶してから処理を終了する。
【0109】
例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が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を変動時間記憶領域に設定する。
【0110】
ステップS215では、コマンド設定送信処理を行う。なお、副制御部400に送信する出力予定情報は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(00Hの場合は基本コマンド、01Hの場合は図柄変動開始コマンド、04Hの場合は図柄変動停止コマンド、05Hの場合は入賞演出開始コマンド、06Hの場合は終了演出開始コマンド、07Hの場合は大当たりラウンド数指定コマンド、0EHの場合は復電コマンド、0FHの場合はRAMクリアコマンドをそれぞれ示すなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
【0111】
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
【0112】
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に01H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に04H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に05H、コマンドデータにRAM308に記憶している入賞演出期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に06H、コマンドデータにRAM308に記憶している演出待機期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に07H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に08H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【0113】
ステップS216では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路652に出力する。
【0114】
ステップS217では、デバイス監視処理を行う。このデバイス監視処理では、ステップ203において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、前枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、前枠開放エラー、または下皿満タンエラーを検出した場合に、副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無、前枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS210)で設定した出力予定情報を、I/O310の出力ポートに設定する。
【0115】
ステップS218では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS219に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS220に進む。
【0116】
ステップS219では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
【0117】
ステップS220では、電源管理部650から主制御部300に供給している電源の電圧値を監視する電圧監視回路が、所定の値以下である場合に電圧が低下したことを示す電圧低下信号を出力しているか否か、すなわち電源の遮断を検知したか否かを監視し、電源の遮断を検知した場合には、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行う。
【0118】
<副制御部で動作するオブジェクトの概要>
次に、副制御部400の処理について説明する前に、副制御部400で動作するオブジェクトについて概説する。本実施形態では、オブジェクト指向を用いて、副制御部400における演出制御処理を開発している。具体的には、図9に示すように、副制御部400に関連する各デバイスを抽象化したオブジェクトや表示内容を抽象化したオブジェクトを定義して作成し、このオブジェクトを介してサブ基板164や演出用デバイスを制御する演出制御処理を実行するようにしている。
【0119】
本実施形態では、デバイス系オブジェクトとしては、サブ基板164を抽象化したサブオブジェクト、主基板161を抽象化したメインオブジェクト、液晶表示装置(装飾図柄表示装置)110を抽象化したLCDオブジェクト、ランプ420を抽象化したランプオブジェクト、スピーカ416を抽象化したスピーカオブジェクト、扉250a、250bを抽象化した扉オブジェクトを備えている。なお、LCDオブジェクト、ランプオブジェクト、スピーカオブジェクト、及び扉オブジェクトを総称して演出装置オブジェクトともいう。
【0120】
また、表示内容オブジェクトとしては、液晶表示装置(装飾図柄表示装置)110が表示する図柄を抽象化した図柄オブジェクト、背景を抽象化した背景オブジェクト、予告を抽象化した予告オブジェクトを備えている。
【0121】
このように本実施形態では、副制御部400が実行する処理をオブジェクト指向によって開発しているので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができ、ソフトウェア開発を効率化することができる。すなわち、機種ごとの変更や追加が容易になり、演出に関する制御処理の生産性や保守性を高めることができる。
【0122】
図10及び図11は、図9に示した各オブジェクトの構成を詳しく示す図である。各オブジェクトは、当該オブジェクト内で定義される変数(当該オブジェクトに関連するデータ;メンバ変数ともいう)と、当該オブジェクトに関する処理(当該オブジェクトに関連するデータに対する手続き(メソッド);メンバ関数ともいう)で構成されている。
【0123】
なお、変数はすべてプライベート変数であり、当該オブジェクト内の処理からアクセス可能な変数である(外部のオブジェクトからは直接にはアクセスできない(カプセル化)。外部のオブジェクトからアクセスする場合には、当該オブジェクト内の処理を経由して、アクセスする)。一方、処理(メンバ関数)には、プライベート処理とパブリック処理が存在し、プライベート処理は、当該オブジェクト内の処理だけから呼び出すことができる処理、パブリック処理は、当該オブジェクト内の処理だけでなく、外部のオブジェクトの処理からも呼び出すことができる処理である。
【0124】
例えば、図10(a)に示すサブオブジェクトは、変数として、メインオブジェクトのアドレス、ランプリストのアドレス、演出タイマ、バックアップフラグ、チェックサム値などを備えている。また、処理としては、初期設定処理、終了処理、割込禁止処理、割込禁止解除処理、演出更新処理、抽選処理、乱数管理処理などのプライベート処理と、演出開始処理、更新処理、メインオブジェクトのアドレス設定処理、ランプオブジェクトのアドレス追加処理、演出タイマ取得処理などのパブリック処理を備えている。
【0125】
なお、図10(d)に示すスピーカオブジェクトは、詳しくは、左、右、低音の3種類のスピーカオブジェクトで構成されており(変数及び処理の構成は同一)、図11(b)に示す扉オブジェクトは、詳しくは、左、右の2種類の扉オブジェクトで構成されている(変数及び処理の構成は同一)。また、図10(c)のランプオブジェクトの複数のランプオブジェクトから構成されている(変数及び処理の構成は同一)。
【0126】
また、図9に示した複数のオブジェクトは、それぞれが各オブジェクト内に同一の処理(プログラム;インライン関数)を別々に有する構成となっている。例えば、具体的には、図10(c)のランプオブジェクトの「演出番号設定処理」、図10(d)のスピーカオブジェクトの「演出番号設定処理」などが該当する。「演出番号設定処理」は、設定された演出番号からシナリオデータのアドレスを設定する処理であり、他の処理から頻繁に呼び出される処理であるので、インライン関数とすることにより、処理(関数)呼び出しに伴うオーバヘッドを軽減することができる。
【0127】
<副制御部の処理>
次に、図12を用いて、副制御部400のCPU404が実行する処理について説明する。まず、図12(a)を用いて、リセット信号受信割込処理について説明する。なお、図12(a)は、リセット信号受信割込処理の流れを示すフローチャートである。
【0128】
副制御部400には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した基本回路402のCPU404は、リセット割り込みによりリセットスタートしてROM406に予め記憶した制御プログラムに従って処理を実行し、まず、ステップS301では、初期化処理を行う。具体的には、入出力ポートの初期設定や、各種変数の初期化等を行う。なお、ステップS301の初期化処理に関しては、詳しくは後述する。
【0129】
ステップS302では、サブオブジェクトの更新処理を行う。具体的には、図10(a)に示すサブオブジェクトのパブリック処理の中の「更新処理」を実行し、装飾図柄の変動表示を開始してからの経過時間に基づいて、液晶表示装置(装飾図柄表示装置)110、スピーカ416、ランプ420による演出を制御するための動作制御データの更新を行う。なお、ステップS302のサブオブジェクトの更新処理は、リセット信号受信割込処理の中で繰り返し実行される。サブオブジェクトの更新処理に関しては、詳しくは後述する。
【0130】
次に、図12(b)を用いて、V−Sync信号受信割込処理について説明する。なお、図12(b)は、V−Sync信号受信割込処理の流れを示すフローチャートである。
【0131】
副制御部400は、LCD(装飾図柄表示装置)110を制御する副制御部500から定期的(具体的には、16.6msecごと)にV−Sync信号を受信するので、V−Sync信号を受信すると、ステップS401では、LCDオブジェクトのカウントアップ処理を行う。具体的には、図11(a)のLCDオブジェクトのパブリック処理の「カウントアップ処理」を実行する。これにより、図11(a)のLCDオブジェクトのプライベート変数のカウンタ値は、+1カウントアップされ、カウントアップされた値がカウンタ値に格納される。
【0132】
次に、図12(c)を用いて、タイマ割込処理について説明する。なお、図12(c)は、タイマ割込処理の流れを示すフローチャートである。
【0133】
副制御部400は、所定の周期(具体的には1ms)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を実行する。
【0134】
ステップS501では、左側扉オブジェクトの演出更新処理を行う。具体的には、図11(b)の左側の扉オブジェクトのパブリック処理の「演出更新処理」を実行する。これにより、図11(b)の左側扉オブジェクトのプライベート変数に更新された左側扉のモータ動作状態やモータ励磁位置情報が格納されるので、当該情報に基づき扉250aが動作する。
【0135】
ステップS502では、右側扉オブジェクトの演出更新処理を行う。具体的には、図11(b)の右側の扉オブジェクトのパブリック処理の「演出更新処理」を実行する。これにより、図11(b)の右側扉オブジェクトのプライベート変数に更新された右側扉のモータ動作状態やモータ励磁位置情報が格納されるので、当該情報に基づき扉250bが動作する。
【0136】
次に、図12(d)を用いて、メインコマンド受信割込例外処理について説明する。なお、図12(d)は、メインコマンド受信割込例外処理の流れを示すフローチャートである。
【0137】
副制御部400は、主制御部300からコマンドを受信するようになっているが、このコマンド受信を契機として、メインコマンド受信割込例外処理を実行する。
【0138】
ステップS601では、メインオブジェクトのコマンド取り込み処理を行う。具体的には、図10(b)のメインオブジェクトのパブリック処理の「コマンド取り込み処理」を実行する。これにより、主制御部300から送信されたコマンドは、図10(b)のメインオブジェクトのプライベート変数のバッファ01〜バッファ20に格納される。
【0139】
<初期化処理>
次に、図13を用いて、初期化処理について説明する。図13は、図12(a)のリセット信号受信割込処理のステップS301の初期化処理の流れを詳しく示すフローチャートである。
【0140】
ステップS701では、サブオブジェクト(具体的には、図10(a)に示すサブオブジェクト)をインスタンス化する。ここでインスタンス化とは、サブオブジェクトの全てのメンバ変数(図10(a)に変数として示した例えばメインオブジェクトのアドレスなど)について、値を格納するためにRAM408の領域をそれぞれ確保し、メンバ関数(図10(a)に処理として示した例えば初期設定処理、演出開始処理など)の先頭アドレスをRAM408に展開する。なお、サブオブジェクトをインスタンス化することにより、サブオブジェクトの初期設定処理(具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「初期設定処理」)が実行され、サブオブジェクトのプライベート変数の値は初期化される。後述のオブジェクトのインスタンス化についても各オブジェクトのメンバ変数の値をかくのうするためのRAM408の領域確保およびメンバ変数の先頭アドレスのRAM408への展開がおこなわれるものとしている。
【0141】
ステップS702では、メインオブジェクト(具体的には、図10(b)に示すメインオブジェクト)をインスタンス化する。なお、メインオブジェクトをインスタンス化することにより、メインオブジェクトの初期設定処理(具体的には、図10(b)に示すメインオブジェクトのプライベート処理の「初期設定処理」)が実行され、メインオブジェクトのプライベート変数の値は初期化される。
【0142】
ステップS703では、LCDオブジェクト(具体的には、図11(a)に示すLCDオブジェクト)をインスタンス化する。なお、LCDオブジェクトをインスタンス化することにより、LCDオブジェクトの初期設定処理(具体的には、図11(a)に示すLCDオブジェクトのプライベート処理の「初期設定処理」)が実行され、LCDオブジェクトのプライベート変数の値は初期化される。
【0143】
ステップS704では、ランプ初期設定テーブル(ROM406に記憶されている)を参照して、1番目のランプデータを対象ランプデータとして設定する。ここで、ランプは複数(本実施形態では16)のセグメント(複数のランプの集まり)から構成されるとともに、各セグメントは複数(本実施形態では16)のポートを具備し、各ポートにはLEDがそれぞれ接続された構成となっている。ランプ初期設定テーブルは、このセグメントとポートを1対1に対応付けたデータテーブルである。図14にランプ初期設定テーブルの構成を示す。例えば、図14に示すランプ初期設定テーブルにおいては、セグメント1、ポート1のランプデータが1番目のランプデータとなる。
【0144】
ステップS705では、対象ランプデータのセグメント情報、及びポート情報に基づいて、ランプオブジェクトをインスタンス化する。なお、ランプオブジェクト(具体的には、図11(c)に示すランプオブジェクト)をインスタンス化することにより、ランプオブジェクトの初期設定処理(具体的には、図10(c)に示すランプオブジェクトのプライベート処理の「初期設定処理」)が実行され、対象となったランプオブジェクトのプライベート変数の値は初期化される。例えば、対象ランプデータのセグメント情報、及びポート情報がセグメント1、ポート1である場合には、セグメント1、ポート1に対応するランプオフジェクトをインスタンス化し、セグメント1、ポート1に対応するランプオフジェクトの初期設定処理が実行される。
【0145】
ステップS706では、インスタンス化したランプオブジェクトをランプリスト(線形リスト)に追加する。本実施形態では、先頭データのセグメント1、ポート1のランプオブジェクトから最終データのセグメント6、ポート6までのランプオブジェクトを順次ポインタによって結合したランプリストを生成する。
【0146】
ステップS707では、ランプ初期設定テーブルの次のデータを対象ランプデータとして設定する。例えば、図14に示すランプ初期設定テーブルにおいては、セグメント1、ポート1のランプデータが対象ランプデータの場合には、セグメント1、ポート2のランプデータを対象ランプデータとして設定する。
【0147】
ステップS708では、すべてのランプオブジェクトをインスタンス化したか否かを判定する。すべてのランプオブジェクトをインスタンス化したときは、ステップS709に進み、そうでないときは、ステップS705に戻る。
【0148】
ステップS709では、左スピーカオブジェクト(具体的には、図10(d)に示す左スピーカオブジェクト)をインスタンス化する。なお、左スピーカオブジェクトをインスタンス化することにより、左スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、左スピーカオブジェクトのプライベート変数の値は初期化される。
【0149】
ステップS710では、右スピーカオブジェクト(具体的には、図10(d)に示す右スピーカオブジェクト)をインスタンス化する。なお、右スピーカオブジェクトをインスタンス化することにより、右スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、右スピーカオブジェクトのプライベート変数の値は初期化される。
【0150】
ステップS711では、低音スピーカオブジェクト(具体的には、図10(d)に示す低音スピーカオブジェクト)をインスタンス化する。なお、低音スピーカオブジェクトをインスタンス化することにより、低音スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、低音スピーカオブジェクトのプライベート変数の値は初期化される。
【0151】
ステップS712では、左側扉オブジェクト(具体的には、図11(b)に示す左側扉オブジェクト)をインスタンス化する。なお、左側扉オブジェクトをインスタンス化することにより、左側扉オブジェクトの初期設定処理(具体的には、図11(b)に示す扉オブジェクトのプライベート処理の「初期設定処理」)が実行され、左側扉オブジェクトのプライベート変数の値は初期化される。
【0152】
ステップS713では、右側扉オブジェクト(具体的には、図11(b)に示す右側扉オブジェクト)をインスタンス化する。なお、右側扉オブジェクトをインスタンス化することにより、右側扉オブジェクトの初期設定処理(具体的には、図11(b)に示す扉オブジェクトのプライベート処理の「初期設定処理」)が実行され、右側扉オブジェクトのプライベート変数の値は初期化される。
【0153】
ステップS714では、表示内容オブジェクト(具体的には、図11(c)、(d)、(e)に示す図柄オブジェクト、背景オブジェクト、予告オブジェクト)をインスタンス化する。なお、表示内容オブジェクトをインスタンス化することにより、表示内容オブジェクトの初期設定処理(具体的には、図11(c)、(d)、(e)に示す図柄オブジェクト、背景オブジェクト、予告オブジェクトそれぞれのプライベート処理の「初期設定処理」)が実行され、図柄オブジェクト、背景オブジェクト、予告オブジェクトそれぞれのプライベート変数の値は初期化される。
【0154】
<サブオブジェクトの更新処理>
次に、図15を用いて、サブオブジェクトの更新処理について説明する。図15は、図12(a)のリセット信号受信割込処理のステップS302のサブオブジェクトの更新処理の流れを詳しく示すフローチャートである。
【0155】
ステップS801では、サブオブジェクトの割込禁止処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止処理」を実行する。
【0156】
ステップS802では、LCDオブジェクトのカウンタ取得処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「カウンタ取得処理」を実行する。LCDオブジェクトのカウンタ取得処理においては、LCDオブジェクトのカウンタ値(具体的には、図11(a)に示すプライベート変数のカウンタ値)を取得する。すなわち、ステップS802では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「カウンタ取得処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクト(LCDオブジェクト)の変数値(カウンタ値)を取得する。
【0157】
ステップS803では、サブオブジェクトの割込禁止解除処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止解除処理」を実行する。
【0158】
ステップS804では、取得したLCDオブジェクトのカウンタ値は2(具体的には、33.2msec)以上であるか否かを判定する。取得したカウンタ値が2以上であるときは、LCDの表示切替のタイミングなので、ステップS808に進み、ステップS808からステップS819までの処理を行う。一方、取得したカウンタ値は2未満であるときは、ステップS805に進む。
【0159】
ステップS805では、メインオブジェクトの未処理コマンド取得処理を行う。具体的には、図10(b)に示すメインオブジェクトのパブリック処理の「未処理コマンド取得処理」を実行する。これにより、図10(b)に示すメインオブジェクトのプライベート変数であるバッファ01からバッファ20から未処理コマンドを取得する。すなわち、ステップS805では、サブオブジェクトの更新処理から、他のオブジェクト(メインオブジェクト)のパブリック処理(「未処理コマンド取得処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクト(メインオブジェクト)の変数値(バッファ01〜バッファ20)を取得する。
【0160】
ステップS806では、未処理コマンドがあるか否かを判定する。これは、取得したバッファ01からバッファ20に未処理コマンドが格納されているか否かを判定するものである。未処理コマンドがある(バッファ01からバッファ20に未処理コマンドが格納されている)ときには、ステップS807に進み、そうでないときは、ステップS820に進む。
【0161】
ステップS807では、未処理コマンドに応じてサブオブジェクトの演出開始処理を行う。具体的には、図10(b)に示すサブオブジェクトのパブリック処理の「演出開始処理」を実行し、コマンドに応じて、LCD110、スピーカ416、ランプ420を用いた演出を開始する。ステップS807のサブオブジェクトの演出開始処理を実行後はステップS820に進む。
【0162】
ステップS808では、LCDオブジェクトの描画切替処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「描画切替処理」を実行する。すなわち、ステップS808では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「描画切替処理」)を呼び出し、呼び出した処理を実行する。これにより、LCD(装飾図柄表示装置)110の表示画像が更新される。
【0163】
ステップS809では、サブオブジェクトの割込禁止処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止処理」を実行する。
【0164】
ステップS810では、LCDオブジェクトのカウンタリセット処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「カウンタリセット処理」を実行する。これにより、図11(a)のLCDオブジェクトのプライベート変数のカウンタ値には0が設定される。すなわち、ステップS810では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「カウンタリセット処理」)を呼び出し、呼び出した処理を実行し、実行結果を他のオブジェクトの変数(LCDオブジェクトのカウンタ値)に設定する。
【0165】
ステップS811では、サブオブジェクトの割込禁止解除処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止解除処理」を実行する。
【0166】
ステップS812では、サブオブジェクトの演出更新処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「演出更新処理」を実行する。これにより、副制御部400で制御する演出のシナリオ情報(シナリオ実行中ポインタ)を更新する。
【0167】
ステップS813では、ランプリスト(線形リスト)の先頭オブジェクトを対象ランプオブジェクトとして設定する。具体的には、本実施形態では、セグメント1、ポート1のランプオブジェクトがランプリストの先頭に格納されているので、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定する。
【0168】
ステップS814では、設定された対象ランプオブジェクトの演出更新処理を行う。具体的には、図10(c)に示す対象ランプオブジェクトのパブリック処理の「演出更新処理」を実行する。例えば、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定した場合には、セグメント1、ポート1のランプオブジェクトの「演出更新処理」を実行する。この結果、図10(c)に示すセグメント1、ポート1のランプオブジェクトのプライベート変数に更新されたランプの点灯状況(点灯有無情報、輝度情報)に関する情報が格納され、当該情報に基づいてランプを点灯制御する。すなわち、ステップS814では、サブオブジェクトの更新処理から、他のオブジェクト(ランプオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行し、他のオブジェクトの変数(ランプオブジェクトの点灯情報、輝度情報)を設定する。
【0169】
ステップS815では、ランプリストの次のランプオブジェクトを対象ランプオブジェクトに設定する。例えば、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定されている場合には、セグメント1、ポート2のランプオブジェクトがセグメント1、ポート1のランプオブジェクトの次のデータとして位置付られているので、セグメント1、ポート2のランプオブジェクトを対象ランプオブジェクトに設定する。
【0170】
ステップS816では、すべてのランプオブジェクトについて演出更新処理を行ったか否かを判定する。すべてのランプオブジェクトについて演出更新処理を行ったときは、ステップS817に進み、そうでないときは、ステップS814に戻る。
【0171】
ステップS817では、左スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す左スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す左スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS817では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0172】
ステップS818では、右スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す右スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す右スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS818では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0173】
ステップS819では、低音スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す低音スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す低音スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS819では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0174】
ステップS820では、電源異常信号はオンであるか否かを判定する。電源異常信号はオフであるときは、ステップS821に進み、電源異常信号はオンであるときは、処理を終了する。
【0175】
ステップS821では、サブオブジェクトの終了処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「終了処理」を実行する。この終了処理では、次回電源投入時に所定の演出制御の再開に必要な情報をRAM408に格納(例えばRAM408の所定の範囲に関するチェックサムの取得・格納などを)したり、所定の出力ポートから所定の信号(例えば電源異常または電源が断されたことに基づき処理を終了することを示す信号や出力中のポートにゼロクリア信号など)の出力をおこなうなどの電断時処理をおこなう。ここで電源管理部650への電源が供給されてもRAM408は所定の期間(例えば1週間など)は記憶している情報を継続して記憶できるバックアップ電源(例えばコンデンサなど)を有しているものとしている。さらに他のオブジェクトを終了させる(各オブジェクトのメンバ関数終了処理により、対応する演出装置などに終了の設定(例えば出力中の音、画像、光などの消音、画面消去、消灯をおこなう)、RAM408に展開していた各関数の先頭アドレスの破棄、各メンバ変数の値を格納するために確保していたRAM408の領域開放などをおこなうようにしている。また復電時のサブオブジェクトのインスタンス化時に動作するサブオブジェクトのメンバ関数である初期設定処理の中で、チェックサムの取得とRAM408に格納されているチェックサムの値との比較(比較結果が不一致の場合はRAMクリアなどの処理をおこなう)をおこなうようにしている。
【0176】
<その他実施形態>
なお、上述したデバイス系オブジェクトに「継承」の概念を導入して、オブジェクトの再利用性を高めるようにしてもよい。例えば、ランプオブジェクトとスピーカオブジェクトの共通項をまとめたクラス(演出装置クラスという)を作成し、演出装置クラスを継承してランプクラス及びスピーカクラスを作成するようにしてもよい。図16(a)は基本クラスである演出装置オブジェクトの構成を示しており、また、図16(b)及び(c)は演出装置クラスの派生クラスであるランプオブジェクト、及びスピーカオブジェクトの構成を示している。ランプオブジェクト、及びスピーカオブジェクトは、演出装置クラスを継承しているため、それそれ、演出装置オブジェクトのアドレスを記憶している。
【0177】
この場合には、図16(a)に示すように、演出のシナリオデータのアドレス、シナリオ実行中のポインタなどの変数及びこれら変数を扱う処理を基本クラスである演出装置クラスに備えるようにしており、図16(c)に示すスピーカオブジェクトの演出番号設定処理は、演出装置オブジェクトの演出番号処理をオーバーライドするようになっている。そのため、スピーカオブジェクトの演出番号設定処理においては、演出装置オブジェクトの演出番号設定処理を実行して、演出のシナリオデータのアドレス、シナリオ実行中のアドレスを設定するようになっている。また、所定の条件によりシナリオデータのアドレスを変更するようになっている。
【0178】
また、この場合には、上述したランプリストに代えて、演出装置リスト(線形リスト)を備え、すべてのセグメント及びポートに対応するランプオブジェクトと左・右・低音用スピーカオブジェクトを格納するようになっている。そして、図15に示したサブオブジェクトの更新処理においては、ランプ及びスピーカの演出更新処理を別々に行うのではなく(ステップS813〜S819参照)、演出装置リストに格納されたすべてのオブジェクトを順次呼び出すことにより、ランプ及びスピーカの演出更新処理を行う。
【0179】
<実施形態の効果>
以上述べたように、本実施形態の遊技台によれば、副制御部400が実行する処理をオブジェクト指向によって開発し、演出装置を抽象化したオブジェクトを介して演出装置を制御しているので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができ、ソフトウェア開発を効率化することができる。すなわち、機種ごとの変更や追加が容易になり、演出に関する制御処理の生産性や保守性を高めることができる。
【0180】
この結果、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止することができ、演出装置の演出動作の多様化を促進することができる。
【0181】
例えば、本実施形態に係る遊技台によれば、遊技を演出する演出装置(例えば、液晶表示装置、ランプ、スピーカなど)を抽象化した演出装置オブジェクト(例えば、LCDオブジェクト、ランプオブジェクト、スピーカオブジェクトなど)を介して前記演出装置を制御する演出制御処理(例えば、リセット信号受信割込処理、V−Sync信号受信割込処理、タイマ割込処理、メインコマンド受信割込処理などの所定時間経過、または他の装置からの入力を契機に実行される割込処理。または、サブオブジェクトの更新処理(ステップS302)、LCDオブジェクトのカウントアップ処理(ステップS401)など各オブジェクトで定義されている処理)を備えたことを特徴とする。
【0182】
このように、演出装置を抽象化した演出装置オブジェクトを備え、演出装置オブジェクトを介して演出装置を制御する演出制御処理を実行するので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができる。この結果、副制御部400に対するソフトウェア開発の生産性及び保守性を向上させることができる。
【0183】
また、上述した構成において、好適には、前記演出装置オブジェクトは、前記演出装置を制御するための制御情報を記憶するメンバ変数(例えば、ランプオブジェクトの点灯有無情報、LCDオブジェクトのカウンタ値など)と、所定の処理をして前記メンバ変数に制御情報を設定するメンバ関数(例えば、サブオブジェクトの更新処理、LCDオブジェクトのカウンタ取得処理など)と、を有する。このように演出装置オブジェクトをデータと、データを扱う処理を一体化して構成しているので、処理の部品化に好適である。
【0184】
また、好適には、前記演出装置を制御する演出制御装置(例えば、サブ基板164)と、前記演出制御装置を抽象化した演出制御装置オブジェクト(例えば、サブオブジェクト)と、を備え、前記演出制御装置オブジェクトのメンバ関数が前記演出装置オブジェクトを介して当該演出装置オブジェクトに対応する前記演出装置を制御する。このように、演出装置だけでなく、演出制御装置を抽象化したオブジェクトも備えているので、演出制御処理を体系的に部品化することができる。
【0185】
また、好適には、演出の内容を指示する制御情報を前記演出制御装置に送信する主制御装置(例えば、主基板161)と、前記主制御装置を抽象化した主制御装置オブジェクト(例えば、メインオブジェクト)と、を備え、前記演出制御装置オブジェクトは、前記主制御装置オブジェクトを介して前記演出の内容を取得する。このように、演出装置だけでなく、主制御装置を抽象化したオブジェクトも備えているので、演出制御処理を体系的に部品化することができる。
【0186】
また、好適には、複数の前記演出装置を備え、前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、前記複数の演出装置オブジェクトの共通部分を集約した演出オブジェクト(例えば、図16(a)に示す演出装置オブジェクト)をさらに備え、前記複数の演出装置オブジェクトそれぞれが前記演出オブジェクトのアドレス(例えば、図16(b)に示すランプオブジェクトにおける演出装置オブジェクトのアドレスなど)を記憶する。このように演出装置オブジェクトに継承の概念を導入しているので、オブエジェクトの再利用性を高めることができる。
【0187】
また、好適には、複数の前記演出装置を備え、前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、前記複数の演出装置オブジェクトは、それぞれ同一のサブルーチン(例えば、ランプオブジェクトやスピーカオブジェクトの演出番号設定処理など)を備えている。これにより、他の処理から頻繁に呼び出される処理をインライン関数としているので、処理呼び出しに伴うオーバヘッドを軽減することができたり、所定のオブジェクトを追加・削除しても他のオブジェクトに影響を与えてることがなくオブジェクトすなわち演出装置を独立して管理することができる。
【0188】
また、好適には、前記複数の演出装置は、音出力装置(例えば、スピーカ416)、画像表示装置(例えば、装飾図柄表示装置110)、及びランプ装置(例えば、ランプ420)を含み、前記演出装置オブジェクトは、前記音出力装置、前記画像表示装置、及び前記ランプ装置をそれぞれ抽象化した音出力装置オブジェクト、画像表示装置オブジェクト、ランプ装置オブジェクトを含む。これにより、具体的には、音出力装置、画像表示装置、及びランプ装置に関する演出制御処理を実行することができる。
【0189】
なお、上記実施形態では各オブジェクトの終了処理で、RAM408に展開していた各関数の先頭アドレスの破棄、各メンバ変数の値を格納するために確保していたRAM408の領域開放するものとしたが、電断中もRAM408に展開・確保したままにしておき、復電時に各オブジェクトが正常に復帰できる状態と判定された場合(例えば、各オブジェクトで使用(展開、確保) しているRAM408の所定の領域の値に関するチェックサム値を算出してRAM408に格納しておき、復電時に再度その所定の領域の値に関するチェックサム値を算出し、格納していたチェックサム値と比較して同一の場合には復帰できる状態と判定した場合など)には、電断時にRAM408に展開していた各関数の先頭アドレス、各メンバ変数の値を格納するために確保していたRAM408の領域を使用するようにし、正常に復帰できる状態ではないと判定された場合には、再度RAM408に各関数の先頭アドレスを展開したり、各メンバ変数の値を格納するためにRAM408の領域を確保するようにしてもよい。
【0190】
また、上記実施形態では、副制御部400の処理に関してオブジェクト指向の概念を導入したが、副制御部400以外の制御部、例えば、主制御部300、副制御部500などの処理に関してオブジェクト指向の概念を導入してもよいのは勿論である。
【0191】
また、本発明は上述したパチンコ機だけではなく、スロットマシンにも適用できるものである。すなわち、本発明に係る遊技台は、図17に示す「複数種類の図柄が施され、回転駆動される複数のリールと、リールの回転を指示するためのスタートレバーと、各々のリールに対応して設けられ、リールの回転を個別に停止させるための停止ボタンと、複数種類の役の内部当選の当否を抽選により判定する抽選手段(入賞役内部抽選)と、抽選手段の抽選結果に基づいてリールの回転の停止に関する停止制御を行うリール停止制御手段(リール停止制御処理)と、抽選手段の抽選結果に基づいて停止されたリールによって表示される図柄組合せが、内部当選した役に対応して予め定めた図柄組合せであるか否かの判定をする判定手段(入賞判定処理)と、図柄の停止態様が所定の入賞態様である場合、所定の入賞態様に対応する遊技媒体を払出す遊技媒体払出処理を行う払出制御手段(メダル払出処理)と、をさらに備えたスロットマシン」にも好適である。
【0192】
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。また、発明の実施の形態に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。
【図面の簡単な説明】
【0193】
【図1】本発明の一実施形態に係るパチンコ機の外観を示す斜視図(正面側から見た斜視図)である。
【図2】本発明の一実施形態に係るパチンコ機の遊技盤を正面から見た略示正面図である。
【図3】本発明の一実施形態に係るパチンコ機の外観を示す斜視図(背面側から見た斜視図)である。
【図4】本発明の一実施形態に係るパチンコ機の特図表示装置、装飾図柄表示装置、普図表示装置が停止表示する特図および普図の種類を示す図である。
【図5】本発明の一実施形態に係るパチンコ機の制御部の回路構成を示す図である。
【図6】本発明の一実施形態に係るパチンコ機の主制御部のROMが記憶しているデータテーブルの一例である。
【図7】本発明の一実施形態に係るパチンコ機の主制御部メイン処理を示すフローチャートである。
【図8】本発明の一実施形態に係るパチンコ機の主制御部タイマ割り込み処理を示すフローチャートである。
【図9】本発明の一実施形態に係るパチンコ機の副制御部に関連する各デバイスを抽象化したオブジェクトや表示内容を抽象化したオブジェクトの概要を示す図である。
【図10】図11とともに、図9に示すオブジェクトの構成を詳しく示す図である。
【図11】図10とともに、図9に示すオブジェクトの構成を詳しく示す図である。
【図12】本発明の一実施形態に係るパチンコ機の副制御部の処理を示すフローチャートである。
【図13】図12(a)のリセット信号受信割込処理のステップS301の初期化処理を詳しく示すフローチャートである。
【図14】本発明の一実施形態に係るパチンコ機の副制御部に記憶されたランプ初期設定テーブルの一例を示す図である。
【図15】図12(a)のリセット信号受信割込処理のステップS302のサブオブジェクト更新処理を詳しく示すフローチャートである。
【図16】本発明の別の実施形態に係るパチンコ機の副制御部に関連する各デバイスを抽象化したオブジェクトの概要を示す図である。
【図17】本発明の他の実施形態に係るスロットマシンの外観図である。
【技術分野】
【0001】
本発明は、パチンコ、スロットマシン(パチスロ)に代表される遊技台に関する。
【背景技術】
【0002】
例えば、パチンコ機などの遊技台では、遊技盤の遊技領域に、遊技球が入賞可能な始動口と、複数個の図柄を変動表示可能な図柄表示部を備え、始動口に遊技球が入賞すると、図柄表示部の図柄を所定時間変動して、変動後の図柄が予め定めた特定図柄の組み合わせである特定態様になった場合に、可変入賞手段を所定時間開放させる等、遊技者に有利な遊技状態を発生させるようにしている。
【0003】
この種の遊技台では、図柄表示部の図柄が特定態様のうち特別態様になった場合に遊技者に有利な遊技状態として大当り状態を生起するといったゲーム性を有するものが存在する。
【0004】
また、このような遊技球を用いたゲーム状況の変化に応じて所定の演出装置により演出を行い、遊技者の興趣を喚起するようになっている。
【0005】
このような遊技台の遊技進行を制御する制御基板は、演出装置を正確に制御することで、遊技の面白みを向上させることを可能としており、そのため遊技盤に関わる制御を行う主制御機能と、音声発生手段で発生させるべき効果音を制御する音声制御機能とを別々の制御基板に備えることでそれぞれの制御基板上の制御手段の回路構成を簡単にできるようにした遊技台が提案されている(例えば、特許文献1参照。)。
【0006】
【特許文献1】特開2000−262670号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述したように演出制御手段を主制御基板から独立させることで制御手段の回路構成を簡単化し、演出装置を正確に制御することに加えて、ゲームの状況に応じてより多彩に演出装置を制御して遊技をより面白みのあるものにしてほしいといった要望が高まっている。その要望実現のためには演出装置を制御するためのプログラムやデータの大きさが大きくなってしまうという問題がある。
【0008】
本発明は上記の問題を解決するためになされたものであり、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止できる遊技台を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明に係る遊技台は、次のように構成される。
【0010】
本発明に係る遊技台は、その一態様として、遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備えたことを特徴とする。
【発明の効果】
【0011】
本発明の遊技台によれば、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止することができる。この結果、演出装置の演出動作の多様化を促進することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について図面を用いて説明する。本発明の実施形態においては、本発明を遊技台の一例であるパチンコ機に適用した場合について説明している。
【0013】
<全体構成>
まず、図1を用いて、本発明の実施形態に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
【0014】
パチンコ機100は、ガラス製または樹脂製の透明板部材152および透明部材保持枠154からなる扉部材156の奥側にガラスを通して視認可能に配設した後述する遊技盤(盤面)102を備えている。
【0015】
扉部材156の下方には、後述する発射モータ602によって回動する発射杆138と、この発射杆138の先端部に取り付けて球を後述する遊技領域104に向けて打ち出す発射槌140と、この発射槌140によって打ち出す球を後述する外レール106に導くための発射レール142と、球を一時的に貯留すると共に、貯留している球を順次、発射レール142に供給するための貯留皿144と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に後述する装飾図柄表示装置110等による演出表示を変化させるためのチャンスボタン146を配設している。
【0016】
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。
【0017】
図2は、遊技盤102を正面から見た略示正面図である。遊技盤102には、外レール106と内レール108とを配設し、遊技球(以下、単に「球」と称する場合がある。)が転動可能な遊技領域104を区画形成している。
【0018】
遊技領域104の略中央には、演出装置200を配設している。この演出装置200には、略中央に横長の装飾図柄表示装置110を配設し、その周囲に、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留ランプ116と、特別図柄保留ランプ118と、高確中ランプ120を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
【0019】
演出装置200は、可動部を動作して演出を行うものであり、詳細については後述する。
【0020】
装飾図柄表示装置110は、装飾図柄(図4(b)参照)ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施形態では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置110は、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cおよび演出表示領域110dの4つの表示領域に分割し、左図柄表示領域110a、中図柄表示領域110bおよび左図柄表示領域110cはそれぞれ異なった装飾図柄を表示し、演出表示領域110dは演出に用いる画像を表示する。さらに、各表示領域110a、110b、110c、110dの位置や大きさは、装飾図柄表示装置110の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置110は、液晶表示装置に代えて、ドットマトリクス表示装置、7セグメント表示装置、EL(ElectroLuminescence)表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
【0021】
普図表示装置112は、普図(図4(c)参照)の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。特図表示装置114は、特図(図4(a)参照)の表示を行うための表示装置であり、本実施形態では7セグメントLEDによって構成する。
【0022】
普図保留ランプ116は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、普図変動遊技を2つまで保留することを可能としている。特図保留ランプ118は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施形態では、特図変動遊技を4つまで保留することを可能としている。高確中ランプ120は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
【0023】
また、この演出装置200の周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。
【0024】
一般入賞口122は、本実施形態では遊技盤102に複数配設しており、この一般入賞口122への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置552を駆動し、所定の個数(本実施形態では10個)の球を賞球として後述する貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施形態では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
【0025】
普図始動口124は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施形態では遊技盤102の左側に1つ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の玉検出センサが検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
【0026】
第1特図始動口126は、本実施形態では遊技盤102の中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では3個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0027】
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施形態では第1特図始動口126の真下に1つだけ配設している。この第2特図始動口128は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では5個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0028】
可変入賞口130は、大入賞口またはアタッカーと呼ばれ、本実施形態では遊技盤102の中央部下方に1つだけ配設している。この可変入賞口130は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施形態では15球)の球を賞球として後述する貯留皿144に排出する。なお、可変入賞口130に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
【0029】
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材132や、遊技釘134を複数個、配設していると共に、内レール108の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口136を設けている。
【0030】
このパチンコ機100は、遊技者が貯留皿144に貯留している球を発射レール142の発射位置に供給し、遊技者の操作ハンドル148の操作量に応じた強度で発射モータ602を駆動し、発射杆138および発射槌140によって外レール106、内レール108を通過させて遊技領域104に打ち出す。そして、遊技領域104の上部に到達した球は、打球方向変換部材132や遊技釘134等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口124を通過するのみでアウト口136に到達する。
【0031】
次に、パチンコ機100の演出装置200について説明する。
【0032】
この演出装置200の前面側には、ワープ装置230およびステージを配設し、演出装置200の背面側には、装飾図柄表示装置110および遮蔽手段250を配設している。すなわち、演出装置200において、装飾図柄表示装置110および遮蔽手段250は、ワープ装置230およびステージの後方に位置することとなる。
【0033】
ワープ装置230は、演出装置200の左上方に設けた入球口232に入った遊技球を演出装置200の前面下方の前面ステージ234に排出し、さらに、前面ステージ234に排出した遊技球が前面ステージ234の中央部後方に設けた第2の入球口236に入った場合は、遊技球を、第1特図始動口126の上方である演出装置200の下部中央に設けた排出口238から第1特図始動口126に向けて排出するものである。この排出口238から排出した遊技球は特図始動口126に入球しやすくなっている。
【0034】
遮蔽手段250は、格子状の左扉250aおよび右扉250bからなり、装飾図柄表示装置110および前面ステージ234の間に配設する。左扉250aおよび右扉250bの上部には、図示しない2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉250aおよび右扉250bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段250は、左右扉250a、250bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置110を視認し難いように遮蔽する。左右扉250a、250bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置110の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置110の表示の全てを視認可能である。また、左右扉250a、250bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左右扉250a、250bは、格子の孔から後方の装飾図柄表示装置110の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置110による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置110を全く視認不可にしてもよい。
【0035】
図3は、パチンコ機100を背面側から見た外観斜視図である。
【0036】
パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク152と、この球タンク152の下方に位置し、球タンク152の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置154に導くためのタンクレール153とを配設している。
【0037】
払出装置154は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158とを備えている。
【0038】
スプロケット157は、モータによって回転可能に構成されており、タンクレール153を通過して払出装置154内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置154の下方へ1個ずつ送り出すように構成している。
【0039】
払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
【0040】
払出装置154の左側には、後述する主制御部300を構成する主基板161と、後述する副制御部400を構成するサブ基板164とを配設している。また、これら主基板161やサブ基板164の下方には、後述する発射制御部600を構成する発射基板166と、後述する電源管理部650を構成する電源基板162と、後述する払出制御部550を構成する払出基板165と、この払出基板165に接続したCRインターフェース部163とを配設している。
【0041】
<図柄の種類>
次に、図4(a)〜(c)を用いて、パチンコ機100の特図表示装置114、装飾図柄表示装置110、普図表示装置112が停止表示する特図および普図の種類について説明する。
【0042】
図4(a)は特図の停止表示態様の一例を示したものである。本実施形態の特図の停止表示態様には、大当たり図柄である「特図1」と、特別大当たり図柄である「特図2」と、外れ図柄である「特図3」の3種類がある。第1特図始動口126または第2特図始動口128に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置114は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図の変動表示」を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技の当選を報知する場合には「特図1」または「特図2」を停止表示し、特図変動遊技の外れを報知する場合には「特図3」を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
【0043】
図4(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に大当たりに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
【0044】
図4(c)は普図の停止表示態様の一例を示したものである。本実施形態の普図の停止表示態様には、当たり図柄である「普図1」と、外れ図柄である「普図2」の2種類がある。普図始動口124を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置112は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図1」を停止表示し、普図変動遊技の外れを報知する場合には「普図2」を停止表示する。
【0045】
<制御部>
次に、図5を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
【0046】
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に演出の制御を行う副制御部400と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部550と、遊技球の発射制御を行う発射制御部600と、パチンコ機100に供給される電源を制御する電源管理部650によって構成している。
【0047】
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
【0048】
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312を搭載している。なお、ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する副制御部400についても同様である。この基本回路302のCPU304は、水晶発信器314が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【0049】
また、基本回路302には、水晶発信器314が出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路316(この回路には2つのカウンタを内蔵しているものとする)と、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ318が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路316および基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留ランプ116、特図保留ランプ118、高確中ランプ120等)の表示制御を行うための表示回路328と、第2特図始動口128や可変入賞口130等を開閉駆動する各種ソレノイド330を制御するためのソレノイド回路332を接続している。
【0050】
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
【0051】
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路652にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。
【0052】
また、主制御部300は、副制御部400にコマンドを送信するための出力インタフェースと、払出制御部550にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部400および払出制御部550との通信を可能としている。
【0053】
<副制御部>
次に、パチンコ機100の副制御部400について説明する。
【0054】
副制御部400は、主に主制御部300が送信したコマンド等に基づいて副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【0055】
また、基本回路402には、スピーカ416(およびアンプ)の制御を行うための音源IC418と、各種ランプ420の制御を行うための表示回路422と、演出装置200の演出用可動体等を駆動する駆動装置であるソレノイドまたはモータ等が含まれる各種演出用駆動装置424の制御を行うための演出用駆動装置制御回路426と、装飾図柄表示装置(液晶表示装置)110および遮蔽手段250の制御を行うための副制御部500と、チャンスボタン146の押下を検出して信号を出力するチャンスボタン検出回路380を接続している。
【0056】
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部550、発射制御部600、電源管理部650について説明する。
【0057】
払出制御部550は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置552を制御すると共に、払出センサ554が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部556を介して、パチンコ機100とは別体で設けられたカードユニット654との通信を行う。
【0058】
発射制御部600は、払出制御部550が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ602の制御や、貯留皿144から発射レール142に球を供給する球送り装置604の制御を行う。
【0059】
電源管理部650は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、副制御部400等の各制御部や払出装置552等の各装置に供給する。さらに、電源管理部650は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。
【0060】
<主制御部のデータテーブル>
次に、図6を用いて、パチンコ機100の主制御部300のROM306が記憶しているデータテーブルについて説明する。なお、同図(a)は大当たり判定テーブルの一例を、同図(b)は高確率状態移行判定テーブルの一例を、同図(c)はタイマ番号決定テーブルの一例を、それぞれ示した図である。
【0061】
図6(a)に示す大当たり判定テーブルは、RAM308に設けた遊技状態格納領域に記憶している情報(以下、単に「遊技情報」と称する。)の種類と、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第1特図始動口用抽選データ)と、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に使用する抽選データ(第2特図始動口用抽選データ)と、を対応付けて記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報を用いて特図変動遊技を当選(大当たり)とするか、不当選(外れ)とするかの決定、すなわち「大当たり判定」を行う。なお、「遊技情報」は、特図変動遊技を所定の低確率で当選と判定する低確率状態を示す情報、および低確率よりも高い高確率で特図変動遊技を当選と判定する高確率状態を示す情報等を含むが、以下、これらを単に「低確率状態」および「高確率状態」と称する。また、遊技状態格納領域に記憶する情報には別の情報もあるが、これらの情報については後述する。
【0062】
第1特図始動口用抽選データは、第1特図始動口126に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値(乱数値については後述する)が10001〜10187であるときは、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が10001〜10187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施形態では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第1特図始動口用抽選データが示す数値範囲は10001〜10187(数値範囲の大きさは187)であるから、低確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第1特図始動口用抽選データが示す数値範囲は30001〜31310(数値範囲の大きさは1310)であるから、高確率状態の第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第1特図始動口126への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
【0063】
第2特図始動口用抽選データは、第2特図始動口128に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、遊技状態が低確率状態の場合、取得した特図当選乱数値が20001〜20187であるときには、特図変動遊技の当選と判定する。一方、取得した特図当選乱数値が20001〜20187以外の数値である場合には、特図変動遊技の外れと判定する。なお、本実施形態では、特図当選乱数値の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、低確率状態における第2特図始動口用抽選データが示す数値範囲は20001〜20187(数値範囲の大きさは187)であるから、低確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、約1/350.4(=187/65536)である。これに対して、高確率状態における第2特図始動口用抽選データが示す数値範囲は40001〜41310(数値範囲の大きさは1310)であるから、高確率状態の第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は約1/50.0(=1310/65536)であり、第2特図始動口128への球の入賞に基づく特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
【0064】
図6(b)に示す高確率状態移行判定テーブルは、上述の大当たり判定の結果、大当たりと判定した場合に使用する抽選データを記憶したデータテーブルである。
【0065】
主制御部300の基本回路302は、この高確率状態移行判定テーブルを用いて、特図変動遊技の終了後に大当たり遊技を開始するか、または特別大当たり遊技を開始するかの判定、すなわち確変移行判定を行う。例えば、取得した特図乱数値(乱数値については後述する)が64〜127の数値である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特図変動遊技の終了後に特別大当たり遊技を開始することを示す情報を設定する(ここで、確変フラグの格納領域に特別大当たり遊技開始の情報を設定することを確変フラグをオンに設定するという)。一方、取得した特図乱数値が64〜127の数値以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、確変フラグの格納領域に大当たり遊技開始の情報を設定することを確変フラグをオフに設定するという)。なお、本実施形態では、特図乱数値の取り得る数値範囲は0〜127(数値範囲の大きさは128)、抽選データの移行判定乱数の範囲は64〜127(数値範囲の大きさは64)であるから、大当たり判定の結果が当選である場合に確変移行判定の結果を当選にする確率、すなわち特別大当たりを開始する確率は1/2(=64/128)である。
【0066】
図6(c)に示すタイマ番号決定テーブルは、特図表示装置114による特図の変動表示を開始してから停止表示をするまでの変動時間を示すタイマ番号を決定するための抽選に使用する抽選データを記憶したデータテーブルである。主制御部300の基本回路302は、これらの情報と、上記の大当たり判定結果(後述する大当たりフラグの値)および後述するタイマ乱数の値に基づいて、タイマ番号を決定する。なお、本実施形態では、特図タイマ乱数値(乱数値については後述する)の取り得る数値範囲は0〜65535(数値範囲の大きさは65536)、上記の大当たり判定結果が不当選の場合は、タイマ1のタイマ乱数の範囲は0〜60235(数値範囲の大きさは60236)であるから、タイマ番号としてタイマ1(変動時間5秒、リーチなし)を選択する確率は60236/65536である。また、タイマ番号として、タイマ2(変動時間10秒、ノーマルリーチ)を選択する確率は4250/65536、タイマ3(変動時間20秒、ロングリーチ)を選択する確率は800/65536、タイマ3(変動時間40秒、マルチラインリーチ)を選択する確率は250/65536である。一方、大当たり判定結果が当選の場合は、タイマ2のタイマ乱数の範囲は0〜15535(数値範囲の大きさは15536)であるから、タイマ番号としてタイマ2(変動時間10秒、ノーマルリーチ)を選択する確率は15535/65536である。また、タイマ番号として、タイマ3(変動時間20秒、ロングリーチ、ノーマルリーチ(再変動))を選択する確率は9000/65536、タイマ4(変動時間40秒、マルチラインリーチ)を選択する確率は38000/65536、タイマ5(変動時間50秒、全回転リーチ)を選択する確率は3000/65536である。
【0067】
<主制御部メイン処理>
次に、図7を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【0068】
主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割り込みによりリセットスタートしてROM306に予め記憶している制御プログラムに従って処理を実行する。
【0069】
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定、割り込みマスクの設定、I/Oポート310の初期設定、RAM308に記憶する各種変数の初期設定、WDTへの初期値の設定等を行う。なお、本実施形態では、WDTに、初期値として32.8msに相当する数値を設定する。
【0070】
ステップS102では、WDTのリセットを行い、WDTによる時間計測を再始動する。
【0071】
ステップS103では、低電圧信号がオンであるか否か、すなわち、主制御部300に設けられた電圧監視回路336が、電源管理部650から主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS102に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS104に進む。
【0072】
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタタイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
【0073】
ステップS105では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはステップS107に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS107に進む。
【0074】
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS107に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS107に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS106に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS107に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS107に進む。
【0075】
ステップS106では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS108、ステップS109内の所定の)命令の次の命令から処理を再開する。
【0076】
ステップS107では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
【0077】
ステップS108では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS109に進む。
【0078】
ステップS109では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【0079】
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS108およびS109の処理を繰り返し実行する。
【0080】
<主制御部タイマ割り込み処理>
次に、図8を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
【0081】
主制御部300は、所定の周期(本実施形態では約2msに1回)でタイマ割り込み信号を発生するカウンタタイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
【0082】
ステップS201では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
【0083】
ステップS202では、WDTのカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施形態では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。
【0084】
ステップS203では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述のガラス枠開放センサ、前枠開放センサ、下皿満タンセンサ、複数の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。本実施形態では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【0085】
また、ステップS203では、上述の前々回検出信号記領域、前回検出信号記領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定する。そして、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)への入球、または普図始動口124の通過があったと判定する。例えば、一般入賞口122への入球を検出する球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口122へ入球したと判定し、以降の一般入賞口122への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口122への入球に伴う処理を行わずに後続の処理に分岐する。
【0086】
ステップS204およびステップS205では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS108で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する普図当選乱数値および特図乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。
【0087】
ステップS206では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【0088】
ステップS207では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【0089】
ステップS208では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
【0090】
ステップS209では、入賞受付処理を行う。この入賞受付処理では、第1、第2特図始動口126、128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、入賞した始動口に対応するカウンタ回路316のカウンタ値記憶用レジスタから値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。また、普図始動口124を球が通過したことを検出し、且つ、保留している普図変動遊技の数が2未満の場合には、そのタイミングにおける普図当選乱数値生成用の乱数カウンタの値を普図当選乱数値として取得し、RAM308に設けた上述の特図用とは別の乱数値記憶領域に記憶する。また、この入賞受付処理では、所定の球検出センサにより第1、第2特図始動口126、128、普図始動口124、または可変入賞口の入賞(入球)を検出した場合に、副制御部400に送信すべき送信情報に、第1、第2特図始動口126、128、普図始動口124、および可変入賞口の入賞(入球)の有無を示す入賞受付情報を設定する。
【0091】
ステップS210では、払出要求数送信処理を行う。なお、払出制御部550に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に今回加工種別(0〜3)、およびビット0〜3に加工後の払出要求数を示すようにしている。
【0092】
ステップS211では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(普図汎用タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【0093】
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、図4(c)に示す普図1の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、図4(c)に示す普図2の態様となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
【0094】
また、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間(例えば2秒間)、第2特図始動口128の羽根部材の開閉駆動用のソレノイド330に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
【0095】
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド330に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【0096】
また、所定の閉鎖期間を経過したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップS212に移行するようにしている。
【0097】
ステップS212では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口128の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
【0098】
ステップS213では、特図状態更新処理を行う。この特図状態更新処理は、特図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、特図変動中(特図汎用タイマの値が1以上)における特図状態更新処理では、特図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【0099】
また、特図変動表示時間が経過したタイミング(特図表示図柄更新タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に図4(a)に示す特図1、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に図4(a)に示す特図2、大当たりフラグがオフの場合には、図4(a)に示す特図3の態様となるように特図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。また、コマンド設定送信処理(ステップS215)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に02Hを送信情報(一般情報)として追加記憶する。
【0100】
また、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に04Hを送信情報(一般情報)として追加記憶する。
【0101】
また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に10Hを送信情報(一般情報)として追加記憶する。
【0102】
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に20Hを送信情報(一般情報)として追加記憶する。
【0103】
また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に08Hを送信情報(一般情報)として追加記憶する。
【0104】
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。特図の状態が非作動中の場合における特図状態更新処理では、何もせずに次のステップS214に移行するようにしている。
【0105】
ステップS214では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、上述の図6(a)の大当たり判定テーブル、同図(b)の高確率状態移行判定テーブル、同図(c)のタイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、図6(a)に示す大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
【0106】
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
【0107】
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS209で乱数値記憶領域に記憶した特図乱数値が、図6(b)に示す移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオフに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオンに設定する。
【0108】
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含む図6(c)に示すタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS215)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に送信情報(一般情報)として追加記憶してから処理を終了する。
【0109】
例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が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を変動時間記憶領域に設定する。
【0110】
ステップS215では、コマンド設定送信処理を行う。なお、副制御部400に送信する出力予定情報は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(00Hの場合は基本コマンド、01Hの場合は図柄変動開始コマンド、04Hの場合は図柄変動停止コマンド、05Hの場合は入賞演出開始コマンド、06Hの場合は終了演出開始コマンド、07Hの場合は大当たりラウンド数指定コマンド、0EHの場合は復電コマンド、0FHの場合はRAMクリアコマンドをそれぞれ示すなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
【0111】
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
【0112】
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に01H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に04H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に05H、コマンドデータにRAM308に記憶している入賞演出期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に06H、コマンドデータにRAM308に記憶している演出待機期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に07H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に08H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【0113】
ステップS216では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路652に出力する。
【0114】
ステップS217では、デバイス監視処理を行う。このデバイス監視処理では、ステップ203において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、前枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、前枠開放エラー、または下皿満タンエラーを検出した場合に、副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無、前枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS210)で設定した出力予定情報を、I/O310の出力ポートに設定する。
【0115】
ステップS218では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS219に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS220に進む。
【0116】
ステップS219では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
【0117】
ステップS220では、電源管理部650から主制御部300に供給している電源の電圧値を監視する電圧監視回路が、所定の値以下である場合に電圧が低下したことを示す電圧低下信号を出力しているか否か、すなわち電源の遮断を検知したか否かを監視し、電源の遮断を検知した場合には、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行う。
【0118】
<副制御部で動作するオブジェクトの概要>
次に、副制御部400の処理について説明する前に、副制御部400で動作するオブジェクトについて概説する。本実施形態では、オブジェクト指向を用いて、副制御部400における演出制御処理を開発している。具体的には、図9に示すように、副制御部400に関連する各デバイスを抽象化したオブジェクトや表示内容を抽象化したオブジェクトを定義して作成し、このオブジェクトを介してサブ基板164や演出用デバイスを制御する演出制御処理を実行するようにしている。
【0119】
本実施形態では、デバイス系オブジェクトとしては、サブ基板164を抽象化したサブオブジェクト、主基板161を抽象化したメインオブジェクト、液晶表示装置(装飾図柄表示装置)110を抽象化したLCDオブジェクト、ランプ420を抽象化したランプオブジェクト、スピーカ416を抽象化したスピーカオブジェクト、扉250a、250bを抽象化した扉オブジェクトを備えている。なお、LCDオブジェクト、ランプオブジェクト、スピーカオブジェクト、及び扉オブジェクトを総称して演出装置オブジェクトともいう。
【0120】
また、表示内容オブジェクトとしては、液晶表示装置(装飾図柄表示装置)110が表示する図柄を抽象化した図柄オブジェクト、背景を抽象化した背景オブジェクト、予告を抽象化した予告オブジェクトを備えている。
【0121】
このように本実施形態では、副制御部400が実行する処理をオブジェクト指向によって開発しているので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができ、ソフトウェア開発を効率化することができる。すなわち、機種ごとの変更や追加が容易になり、演出に関する制御処理の生産性や保守性を高めることができる。
【0122】
図10及び図11は、図9に示した各オブジェクトの構成を詳しく示す図である。各オブジェクトは、当該オブジェクト内で定義される変数(当該オブジェクトに関連するデータ;メンバ変数ともいう)と、当該オブジェクトに関する処理(当該オブジェクトに関連するデータに対する手続き(メソッド);メンバ関数ともいう)で構成されている。
【0123】
なお、変数はすべてプライベート変数であり、当該オブジェクト内の処理からアクセス可能な変数である(外部のオブジェクトからは直接にはアクセスできない(カプセル化)。外部のオブジェクトからアクセスする場合には、当該オブジェクト内の処理を経由して、アクセスする)。一方、処理(メンバ関数)には、プライベート処理とパブリック処理が存在し、プライベート処理は、当該オブジェクト内の処理だけから呼び出すことができる処理、パブリック処理は、当該オブジェクト内の処理だけでなく、外部のオブジェクトの処理からも呼び出すことができる処理である。
【0124】
例えば、図10(a)に示すサブオブジェクトは、変数として、メインオブジェクトのアドレス、ランプリストのアドレス、演出タイマ、バックアップフラグ、チェックサム値などを備えている。また、処理としては、初期設定処理、終了処理、割込禁止処理、割込禁止解除処理、演出更新処理、抽選処理、乱数管理処理などのプライベート処理と、演出開始処理、更新処理、メインオブジェクトのアドレス設定処理、ランプオブジェクトのアドレス追加処理、演出タイマ取得処理などのパブリック処理を備えている。
【0125】
なお、図10(d)に示すスピーカオブジェクトは、詳しくは、左、右、低音の3種類のスピーカオブジェクトで構成されており(変数及び処理の構成は同一)、図11(b)に示す扉オブジェクトは、詳しくは、左、右の2種類の扉オブジェクトで構成されている(変数及び処理の構成は同一)。また、図10(c)のランプオブジェクトの複数のランプオブジェクトから構成されている(変数及び処理の構成は同一)。
【0126】
また、図9に示した複数のオブジェクトは、それぞれが各オブジェクト内に同一の処理(プログラム;インライン関数)を別々に有する構成となっている。例えば、具体的には、図10(c)のランプオブジェクトの「演出番号設定処理」、図10(d)のスピーカオブジェクトの「演出番号設定処理」などが該当する。「演出番号設定処理」は、設定された演出番号からシナリオデータのアドレスを設定する処理であり、他の処理から頻繁に呼び出される処理であるので、インライン関数とすることにより、処理(関数)呼び出しに伴うオーバヘッドを軽減することができる。
【0127】
<副制御部の処理>
次に、図12を用いて、副制御部400のCPU404が実行する処理について説明する。まず、図12(a)を用いて、リセット信号受信割込処理について説明する。なお、図12(a)は、リセット信号受信割込処理の流れを示すフローチャートである。
【0128】
副制御部400には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した基本回路402のCPU404は、リセット割り込みによりリセットスタートしてROM406に予め記憶した制御プログラムに従って処理を実行し、まず、ステップS301では、初期化処理を行う。具体的には、入出力ポートの初期設定や、各種変数の初期化等を行う。なお、ステップS301の初期化処理に関しては、詳しくは後述する。
【0129】
ステップS302では、サブオブジェクトの更新処理を行う。具体的には、図10(a)に示すサブオブジェクトのパブリック処理の中の「更新処理」を実行し、装飾図柄の変動表示を開始してからの経過時間に基づいて、液晶表示装置(装飾図柄表示装置)110、スピーカ416、ランプ420による演出を制御するための動作制御データの更新を行う。なお、ステップS302のサブオブジェクトの更新処理は、リセット信号受信割込処理の中で繰り返し実行される。サブオブジェクトの更新処理に関しては、詳しくは後述する。
【0130】
次に、図12(b)を用いて、V−Sync信号受信割込処理について説明する。なお、図12(b)は、V−Sync信号受信割込処理の流れを示すフローチャートである。
【0131】
副制御部400は、LCD(装飾図柄表示装置)110を制御する副制御部500から定期的(具体的には、16.6msecごと)にV−Sync信号を受信するので、V−Sync信号を受信すると、ステップS401では、LCDオブジェクトのカウントアップ処理を行う。具体的には、図11(a)のLCDオブジェクトのパブリック処理の「カウントアップ処理」を実行する。これにより、図11(a)のLCDオブジェクトのプライベート変数のカウンタ値は、+1カウントアップされ、カウントアップされた値がカウンタ値に格納される。
【0132】
次に、図12(c)を用いて、タイマ割込処理について説明する。なお、図12(c)は、タイマ割込処理の流れを示すフローチャートである。
【0133】
副制御部400は、所定の周期(具体的には1ms)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を実行する。
【0134】
ステップS501では、左側扉オブジェクトの演出更新処理を行う。具体的には、図11(b)の左側の扉オブジェクトのパブリック処理の「演出更新処理」を実行する。これにより、図11(b)の左側扉オブジェクトのプライベート変数に更新された左側扉のモータ動作状態やモータ励磁位置情報が格納されるので、当該情報に基づき扉250aが動作する。
【0135】
ステップS502では、右側扉オブジェクトの演出更新処理を行う。具体的には、図11(b)の右側の扉オブジェクトのパブリック処理の「演出更新処理」を実行する。これにより、図11(b)の右側扉オブジェクトのプライベート変数に更新された右側扉のモータ動作状態やモータ励磁位置情報が格納されるので、当該情報に基づき扉250bが動作する。
【0136】
次に、図12(d)を用いて、メインコマンド受信割込例外処理について説明する。なお、図12(d)は、メインコマンド受信割込例外処理の流れを示すフローチャートである。
【0137】
副制御部400は、主制御部300からコマンドを受信するようになっているが、このコマンド受信を契機として、メインコマンド受信割込例外処理を実行する。
【0138】
ステップS601では、メインオブジェクトのコマンド取り込み処理を行う。具体的には、図10(b)のメインオブジェクトのパブリック処理の「コマンド取り込み処理」を実行する。これにより、主制御部300から送信されたコマンドは、図10(b)のメインオブジェクトのプライベート変数のバッファ01〜バッファ20に格納される。
【0139】
<初期化処理>
次に、図13を用いて、初期化処理について説明する。図13は、図12(a)のリセット信号受信割込処理のステップS301の初期化処理の流れを詳しく示すフローチャートである。
【0140】
ステップS701では、サブオブジェクト(具体的には、図10(a)に示すサブオブジェクト)をインスタンス化する。ここでインスタンス化とは、サブオブジェクトの全てのメンバ変数(図10(a)に変数として示した例えばメインオブジェクトのアドレスなど)について、値を格納するためにRAM408の領域をそれぞれ確保し、メンバ関数(図10(a)に処理として示した例えば初期設定処理、演出開始処理など)の先頭アドレスをRAM408に展開する。なお、サブオブジェクトをインスタンス化することにより、サブオブジェクトの初期設定処理(具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「初期設定処理」)が実行され、サブオブジェクトのプライベート変数の値は初期化される。後述のオブジェクトのインスタンス化についても各オブジェクトのメンバ変数の値をかくのうするためのRAM408の領域確保およびメンバ変数の先頭アドレスのRAM408への展開がおこなわれるものとしている。
【0141】
ステップS702では、メインオブジェクト(具体的には、図10(b)に示すメインオブジェクト)をインスタンス化する。なお、メインオブジェクトをインスタンス化することにより、メインオブジェクトの初期設定処理(具体的には、図10(b)に示すメインオブジェクトのプライベート処理の「初期設定処理」)が実行され、メインオブジェクトのプライベート変数の値は初期化される。
【0142】
ステップS703では、LCDオブジェクト(具体的には、図11(a)に示すLCDオブジェクト)をインスタンス化する。なお、LCDオブジェクトをインスタンス化することにより、LCDオブジェクトの初期設定処理(具体的には、図11(a)に示すLCDオブジェクトのプライベート処理の「初期設定処理」)が実行され、LCDオブジェクトのプライベート変数の値は初期化される。
【0143】
ステップS704では、ランプ初期設定テーブル(ROM406に記憶されている)を参照して、1番目のランプデータを対象ランプデータとして設定する。ここで、ランプは複数(本実施形態では16)のセグメント(複数のランプの集まり)から構成されるとともに、各セグメントは複数(本実施形態では16)のポートを具備し、各ポートにはLEDがそれぞれ接続された構成となっている。ランプ初期設定テーブルは、このセグメントとポートを1対1に対応付けたデータテーブルである。図14にランプ初期設定テーブルの構成を示す。例えば、図14に示すランプ初期設定テーブルにおいては、セグメント1、ポート1のランプデータが1番目のランプデータとなる。
【0144】
ステップS705では、対象ランプデータのセグメント情報、及びポート情報に基づいて、ランプオブジェクトをインスタンス化する。なお、ランプオブジェクト(具体的には、図11(c)に示すランプオブジェクト)をインスタンス化することにより、ランプオブジェクトの初期設定処理(具体的には、図10(c)に示すランプオブジェクトのプライベート処理の「初期設定処理」)が実行され、対象となったランプオブジェクトのプライベート変数の値は初期化される。例えば、対象ランプデータのセグメント情報、及びポート情報がセグメント1、ポート1である場合には、セグメント1、ポート1に対応するランプオフジェクトをインスタンス化し、セグメント1、ポート1に対応するランプオフジェクトの初期設定処理が実行される。
【0145】
ステップS706では、インスタンス化したランプオブジェクトをランプリスト(線形リスト)に追加する。本実施形態では、先頭データのセグメント1、ポート1のランプオブジェクトから最終データのセグメント6、ポート6までのランプオブジェクトを順次ポインタによって結合したランプリストを生成する。
【0146】
ステップS707では、ランプ初期設定テーブルの次のデータを対象ランプデータとして設定する。例えば、図14に示すランプ初期設定テーブルにおいては、セグメント1、ポート1のランプデータが対象ランプデータの場合には、セグメント1、ポート2のランプデータを対象ランプデータとして設定する。
【0147】
ステップS708では、すべてのランプオブジェクトをインスタンス化したか否かを判定する。すべてのランプオブジェクトをインスタンス化したときは、ステップS709に進み、そうでないときは、ステップS705に戻る。
【0148】
ステップS709では、左スピーカオブジェクト(具体的には、図10(d)に示す左スピーカオブジェクト)をインスタンス化する。なお、左スピーカオブジェクトをインスタンス化することにより、左スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、左スピーカオブジェクトのプライベート変数の値は初期化される。
【0149】
ステップS710では、右スピーカオブジェクト(具体的には、図10(d)に示す右スピーカオブジェクト)をインスタンス化する。なお、右スピーカオブジェクトをインスタンス化することにより、右スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、右スピーカオブジェクトのプライベート変数の値は初期化される。
【0150】
ステップS711では、低音スピーカオブジェクト(具体的には、図10(d)に示す低音スピーカオブジェクト)をインスタンス化する。なお、低音スピーカオブジェクトをインスタンス化することにより、低音スピーカオブジェクトの初期設定処理(具体的には、図10(d)に示すスピーカオブジェクトのプライベート処理の「初期設定処理」)が実行され、低音スピーカオブジェクトのプライベート変数の値は初期化される。
【0151】
ステップS712では、左側扉オブジェクト(具体的には、図11(b)に示す左側扉オブジェクト)をインスタンス化する。なお、左側扉オブジェクトをインスタンス化することにより、左側扉オブジェクトの初期設定処理(具体的には、図11(b)に示す扉オブジェクトのプライベート処理の「初期設定処理」)が実行され、左側扉オブジェクトのプライベート変数の値は初期化される。
【0152】
ステップS713では、右側扉オブジェクト(具体的には、図11(b)に示す右側扉オブジェクト)をインスタンス化する。なお、右側扉オブジェクトをインスタンス化することにより、右側扉オブジェクトの初期設定処理(具体的には、図11(b)に示す扉オブジェクトのプライベート処理の「初期設定処理」)が実行され、右側扉オブジェクトのプライベート変数の値は初期化される。
【0153】
ステップS714では、表示内容オブジェクト(具体的には、図11(c)、(d)、(e)に示す図柄オブジェクト、背景オブジェクト、予告オブジェクト)をインスタンス化する。なお、表示内容オブジェクトをインスタンス化することにより、表示内容オブジェクトの初期設定処理(具体的には、図11(c)、(d)、(e)に示す図柄オブジェクト、背景オブジェクト、予告オブジェクトそれぞれのプライベート処理の「初期設定処理」)が実行され、図柄オブジェクト、背景オブジェクト、予告オブジェクトそれぞれのプライベート変数の値は初期化される。
【0154】
<サブオブジェクトの更新処理>
次に、図15を用いて、サブオブジェクトの更新処理について説明する。図15は、図12(a)のリセット信号受信割込処理のステップS302のサブオブジェクトの更新処理の流れを詳しく示すフローチャートである。
【0155】
ステップS801では、サブオブジェクトの割込禁止処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止処理」を実行する。
【0156】
ステップS802では、LCDオブジェクトのカウンタ取得処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「カウンタ取得処理」を実行する。LCDオブジェクトのカウンタ取得処理においては、LCDオブジェクトのカウンタ値(具体的には、図11(a)に示すプライベート変数のカウンタ値)を取得する。すなわち、ステップS802では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「カウンタ取得処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクト(LCDオブジェクト)の変数値(カウンタ値)を取得する。
【0157】
ステップS803では、サブオブジェクトの割込禁止解除処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止解除処理」を実行する。
【0158】
ステップS804では、取得したLCDオブジェクトのカウンタ値は2(具体的には、33.2msec)以上であるか否かを判定する。取得したカウンタ値が2以上であるときは、LCDの表示切替のタイミングなので、ステップS808に進み、ステップS808からステップS819までの処理を行う。一方、取得したカウンタ値は2未満であるときは、ステップS805に進む。
【0159】
ステップS805では、メインオブジェクトの未処理コマンド取得処理を行う。具体的には、図10(b)に示すメインオブジェクトのパブリック処理の「未処理コマンド取得処理」を実行する。これにより、図10(b)に示すメインオブジェクトのプライベート変数であるバッファ01からバッファ20から未処理コマンドを取得する。すなわち、ステップS805では、サブオブジェクトの更新処理から、他のオブジェクト(メインオブジェクト)のパブリック処理(「未処理コマンド取得処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクト(メインオブジェクト)の変数値(バッファ01〜バッファ20)を取得する。
【0160】
ステップS806では、未処理コマンドがあるか否かを判定する。これは、取得したバッファ01からバッファ20に未処理コマンドが格納されているか否かを判定するものである。未処理コマンドがある(バッファ01からバッファ20に未処理コマンドが格納されている)ときには、ステップS807に進み、そうでないときは、ステップS820に進む。
【0161】
ステップS807では、未処理コマンドに応じてサブオブジェクトの演出開始処理を行う。具体的には、図10(b)に示すサブオブジェクトのパブリック処理の「演出開始処理」を実行し、コマンドに応じて、LCD110、スピーカ416、ランプ420を用いた演出を開始する。ステップS807のサブオブジェクトの演出開始処理を実行後はステップS820に進む。
【0162】
ステップS808では、LCDオブジェクトの描画切替処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「描画切替処理」を実行する。すなわち、ステップS808では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「描画切替処理」)を呼び出し、呼び出した処理を実行する。これにより、LCD(装飾図柄表示装置)110の表示画像が更新される。
【0163】
ステップS809では、サブオブジェクトの割込禁止処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止処理」を実行する。
【0164】
ステップS810では、LCDオブジェクトのカウンタリセット処理を行う。具体的には、図11(a)に示すLCDオブジェクトのパブリック処理の「カウンタリセット処理」を実行する。これにより、図11(a)のLCDオブジェクトのプライベート変数のカウンタ値には0が設定される。すなわち、ステップS810では、サブオブジェクトの更新処理から、他のオブジェクト(LCDオブジェクト)のパブリック処理(「カウンタリセット処理」)を呼び出し、呼び出した処理を実行し、実行結果を他のオブジェクトの変数(LCDオブジェクトのカウンタ値)に設定する。
【0165】
ステップS811では、サブオブジェクトの割込禁止解除処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「割込禁止解除処理」を実行する。
【0166】
ステップS812では、サブオブジェクトの演出更新処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「演出更新処理」を実行する。これにより、副制御部400で制御する演出のシナリオ情報(シナリオ実行中ポインタ)を更新する。
【0167】
ステップS813では、ランプリスト(線形リスト)の先頭オブジェクトを対象ランプオブジェクトとして設定する。具体的には、本実施形態では、セグメント1、ポート1のランプオブジェクトがランプリストの先頭に格納されているので、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定する。
【0168】
ステップS814では、設定された対象ランプオブジェクトの演出更新処理を行う。具体的には、図10(c)に示す対象ランプオブジェクトのパブリック処理の「演出更新処理」を実行する。例えば、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定した場合には、セグメント1、ポート1のランプオブジェクトの「演出更新処理」を実行する。この結果、図10(c)に示すセグメント1、ポート1のランプオブジェクトのプライベート変数に更新されたランプの点灯状況(点灯有無情報、輝度情報)に関する情報が格納され、当該情報に基づいてランプを点灯制御する。すなわち、ステップS814では、サブオブジェクトの更新処理から、他のオブジェクト(ランプオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行し、他のオブジェクトの変数(ランプオブジェクトの点灯情報、輝度情報)を設定する。
【0169】
ステップS815では、ランプリストの次のランプオブジェクトを対象ランプオブジェクトに設定する。例えば、セグメント1、ポート1のランプオブジェクトを対象ランプオブジェクトとして設定されている場合には、セグメント1、ポート2のランプオブジェクトがセグメント1、ポート1のランプオブジェクトの次のデータとして位置付られているので、セグメント1、ポート2のランプオブジェクトを対象ランプオブジェクトに設定する。
【0170】
ステップS816では、すべてのランプオブジェクトについて演出更新処理を行ったか否かを判定する。すべてのランプオブジェクトについて演出更新処理を行ったときは、ステップS817に進み、そうでないときは、ステップS814に戻る。
【0171】
ステップS817では、左スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す左スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す左スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS817では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0172】
ステップS818では、右スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す右スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す右スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS818では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0173】
ステップS819では、低音スピーカオブジェクトの演出更新処理を行う。具体的には、図10(d)に示す低音スピーカオブジェクトのパブリック処理の「演出更新処理」を実行する。この結果、図10(d)に示す低音スピーカオブジェクトのプライベート変数に更新された音出力情報(フレーズ情報、ボリューム情報、パン情報)が格納され、当該情報に基づいて音出力を実行する。すなわち、ステップS819では、サブオブジェクトの更新処理から、他のオブジェクト(スピーカオブジェクト)のパブリック処理(「演出更新処理」)を呼び出し、呼び出した処理を実行して、他のオブジェクトの変数(スピーカオブジェクトのフレーズ情報、ボリューム情報、パン情報)を設定する。
【0174】
ステップS820では、電源異常信号はオンであるか否かを判定する。電源異常信号はオフであるときは、ステップS821に進み、電源異常信号はオンであるときは、処理を終了する。
【0175】
ステップS821では、サブオブジェクトの終了処理を行う。具体的には、図10(a)に示すサブオブジェクトのプライベート処理の「終了処理」を実行する。この終了処理では、次回電源投入時に所定の演出制御の再開に必要な情報をRAM408に格納(例えばRAM408の所定の範囲に関するチェックサムの取得・格納などを)したり、所定の出力ポートから所定の信号(例えば電源異常または電源が断されたことに基づき処理を終了することを示す信号や出力中のポートにゼロクリア信号など)の出力をおこなうなどの電断時処理をおこなう。ここで電源管理部650への電源が供給されてもRAM408は所定の期間(例えば1週間など)は記憶している情報を継続して記憶できるバックアップ電源(例えばコンデンサなど)を有しているものとしている。さらに他のオブジェクトを終了させる(各オブジェクトのメンバ関数終了処理により、対応する演出装置などに終了の設定(例えば出力中の音、画像、光などの消音、画面消去、消灯をおこなう)、RAM408に展開していた各関数の先頭アドレスの破棄、各メンバ変数の値を格納するために確保していたRAM408の領域開放などをおこなうようにしている。また復電時のサブオブジェクトのインスタンス化時に動作するサブオブジェクトのメンバ関数である初期設定処理の中で、チェックサムの取得とRAM408に格納されているチェックサムの値との比較(比較結果が不一致の場合はRAMクリアなどの処理をおこなう)をおこなうようにしている。
【0176】
<その他実施形態>
なお、上述したデバイス系オブジェクトに「継承」の概念を導入して、オブジェクトの再利用性を高めるようにしてもよい。例えば、ランプオブジェクトとスピーカオブジェクトの共通項をまとめたクラス(演出装置クラスという)を作成し、演出装置クラスを継承してランプクラス及びスピーカクラスを作成するようにしてもよい。図16(a)は基本クラスである演出装置オブジェクトの構成を示しており、また、図16(b)及び(c)は演出装置クラスの派生クラスであるランプオブジェクト、及びスピーカオブジェクトの構成を示している。ランプオブジェクト、及びスピーカオブジェクトは、演出装置クラスを継承しているため、それそれ、演出装置オブジェクトのアドレスを記憶している。
【0177】
この場合には、図16(a)に示すように、演出のシナリオデータのアドレス、シナリオ実行中のポインタなどの変数及びこれら変数を扱う処理を基本クラスである演出装置クラスに備えるようにしており、図16(c)に示すスピーカオブジェクトの演出番号設定処理は、演出装置オブジェクトの演出番号処理をオーバーライドするようになっている。そのため、スピーカオブジェクトの演出番号設定処理においては、演出装置オブジェクトの演出番号設定処理を実行して、演出のシナリオデータのアドレス、シナリオ実行中のアドレスを設定するようになっている。また、所定の条件によりシナリオデータのアドレスを変更するようになっている。
【0178】
また、この場合には、上述したランプリストに代えて、演出装置リスト(線形リスト)を備え、すべてのセグメント及びポートに対応するランプオブジェクトと左・右・低音用スピーカオブジェクトを格納するようになっている。そして、図15に示したサブオブジェクトの更新処理においては、ランプ及びスピーカの演出更新処理を別々に行うのではなく(ステップS813〜S819参照)、演出装置リストに格納されたすべてのオブジェクトを順次呼び出すことにより、ランプ及びスピーカの演出更新処理を行う。
【0179】
<実施形態の効果>
以上述べたように、本実施形態の遊技台によれば、副制御部400が実行する処理をオブジェクト指向によって開発し、演出装置を抽象化したオブジェクトを介して演出装置を制御しているので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができ、ソフトウェア開発を効率化することができる。すなわち、機種ごとの変更や追加が容易になり、演出に関する制御処理の生産性や保守性を高めることができる。
【0180】
この結果、演出装置による演出動作の多様化に伴う制御プログラムやデータが大きくなっても、開発の手間の増大・非効率化や制御の非効率化を防止することができ、演出装置の演出動作の多様化を促進することができる。
【0181】
例えば、本実施形態に係る遊技台によれば、遊技を演出する演出装置(例えば、液晶表示装置、ランプ、スピーカなど)を抽象化した演出装置オブジェクト(例えば、LCDオブジェクト、ランプオブジェクト、スピーカオブジェクトなど)を介して前記演出装置を制御する演出制御処理(例えば、リセット信号受信割込処理、V−Sync信号受信割込処理、タイマ割込処理、メインコマンド受信割込処理などの所定時間経過、または他の装置からの入力を契機に実行される割込処理。または、サブオブジェクトの更新処理(ステップS302)、LCDオブジェクトのカウントアップ処理(ステップS401)など各オブジェクトで定義されている処理)を備えたことを特徴とする。
【0182】
このように、演出装置を抽象化した演出装置オブジェクトを備え、演出装置オブジェクトを介して演出装置を制御する演出制御処理を実行するので、演出に関する制御処理の独立性を高めることができ、各処理の部品化を促進することができる。この結果、副制御部400に対するソフトウェア開発の生産性及び保守性を向上させることができる。
【0183】
また、上述した構成において、好適には、前記演出装置オブジェクトは、前記演出装置を制御するための制御情報を記憶するメンバ変数(例えば、ランプオブジェクトの点灯有無情報、LCDオブジェクトのカウンタ値など)と、所定の処理をして前記メンバ変数に制御情報を設定するメンバ関数(例えば、サブオブジェクトの更新処理、LCDオブジェクトのカウンタ取得処理など)と、を有する。このように演出装置オブジェクトをデータと、データを扱う処理を一体化して構成しているので、処理の部品化に好適である。
【0184】
また、好適には、前記演出装置を制御する演出制御装置(例えば、サブ基板164)と、前記演出制御装置を抽象化した演出制御装置オブジェクト(例えば、サブオブジェクト)と、を備え、前記演出制御装置オブジェクトのメンバ関数が前記演出装置オブジェクトを介して当該演出装置オブジェクトに対応する前記演出装置を制御する。このように、演出装置だけでなく、演出制御装置を抽象化したオブジェクトも備えているので、演出制御処理を体系的に部品化することができる。
【0185】
また、好適には、演出の内容を指示する制御情報を前記演出制御装置に送信する主制御装置(例えば、主基板161)と、前記主制御装置を抽象化した主制御装置オブジェクト(例えば、メインオブジェクト)と、を備え、前記演出制御装置オブジェクトは、前記主制御装置オブジェクトを介して前記演出の内容を取得する。このように、演出装置だけでなく、主制御装置を抽象化したオブジェクトも備えているので、演出制御処理を体系的に部品化することができる。
【0186】
また、好適には、複数の前記演出装置を備え、前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、前記複数の演出装置オブジェクトの共通部分を集約した演出オブジェクト(例えば、図16(a)に示す演出装置オブジェクト)をさらに備え、前記複数の演出装置オブジェクトそれぞれが前記演出オブジェクトのアドレス(例えば、図16(b)に示すランプオブジェクトにおける演出装置オブジェクトのアドレスなど)を記憶する。このように演出装置オブジェクトに継承の概念を導入しているので、オブエジェクトの再利用性を高めることができる。
【0187】
また、好適には、複数の前記演出装置を備え、前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、前記複数の演出装置オブジェクトは、それぞれ同一のサブルーチン(例えば、ランプオブジェクトやスピーカオブジェクトの演出番号設定処理など)を備えている。これにより、他の処理から頻繁に呼び出される処理をインライン関数としているので、処理呼び出しに伴うオーバヘッドを軽減することができたり、所定のオブジェクトを追加・削除しても他のオブジェクトに影響を与えてることがなくオブジェクトすなわち演出装置を独立して管理することができる。
【0188】
また、好適には、前記複数の演出装置は、音出力装置(例えば、スピーカ416)、画像表示装置(例えば、装飾図柄表示装置110)、及びランプ装置(例えば、ランプ420)を含み、前記演出装置オブジェクトは、前記音出力装置、前記画像表示装置、及び前記ランプ装置をそれぞれ抽象化した音出力装置オブジェクト、画像表示装置オブジェクト、ランプ装置オブジェクトを含む。これにより、具体的には、音出力装置、画像表示装置、及びランプ装置に関する演出制御処理を実行することができる。
【0189】
なお、上記実施形態では各オブジェクトの終了処理で、RAM408に展開していた各関数の先頭アドレスの破棄、各メンバ変数の値を格納するために確保していたRAM408の領域開放するものとしたが、電断中もRAM408に展開・確保したままにしておき、復電時に各オブジェクトが正常に復帰できる状態と判定された場合(例えば、各オブジェクトで使用(展開、確保) しているRAM408の所定の領域の値に関するチェックサム値を算出してRAM408に格納しておき、復電時に再度その所定の領域の値に関するチェックサム値を算出し、格納していたチェックサム値と比較して同一の場合には復帰できる状態と判定した場合など)には、電断時にRAM408に展開していた各関数の先頭アドレス、各メンバ変数の値を格納するために確保していたRAM408の領域を使用するようにし、正常に復帰できる状態ではないと判定された場合には、再度RAM408に各関数の先頭アドレスを展開したり、各メンバ変数の値を格納するためにRAM408の領域を確保するようにしてもよい。
【0190】
また、上記実施形態では、副制御部400の処理に関してオブジェクト指向の概念を導入したが、副制御部400以外の制御部、例えば、主制御部300、副制御部500などの処理に関してオブジェクト指向の概念を導入してもよいのは勿論である。
【0191】
また、本発明は上述したパチンコ機だけではなく、スロットマシンにも適用できるものである。すなわち、本発明に係る遊技台は、図17に示す「複数種類の図柄が施され、回転駆動される複数のリールと、リールの回転を指示するためのスタートレバーと、各々のリールに対応して設けられ、リールの回転を個別に停止させるための停止ボタンと、複数種類の役の内部当選の当否を抽選により判定する抽選手段(入賞役内部抽選)と、抽選手段の抽選結果に基づいてリールの回転の停止に関する停止制御を行うリール停止制御手段(リール停止制御処理)と、抽選手段の抽選結果に基づいて停止されたリールによって表示される図柄組合せが、内部当選した役に対応して予め定めた図柄組合せであるか否かの判定をする判定手段(入賞判定処理)と、図柄の停止態様が所定の入賞態様である場合、所定の入賞態様に対応する遊技媒体を払出す遊技媒体払出処理を行う払出制御手段(メダル払出処理)と、をさらに備えたスロットマシン」にも好適である。
【0192】
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。また、発明の実施の形態に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。
【図面の簡単な説明】
【0193】
【図1】本発明の一実施形態に係るパチンコ機の外観を示す斜視図(正面側から見た斜視図)である。
【図2】本発明の一実施形態に係るパチンコ機の遊技盤を正面から見た略示正面図である。
【図3】本発明の一実施形態に係るパチンコ機の外観を示す斜視図(背面側から見た斜視図)である。
【図4】本発明の一実施形態に係るパチンコ機の特図表示装置、装飾図柄表示装置、普図表示装置が停止表示する特図および普図の種類を示す図である。
【図5】本発明の一実施形態に係るパチンコ機の制御部の回路構成を示す図である。
【図6】本発明の一実施形態に係るパチンコ機の主制御部のROMが記憶しているデータテーブルの一例である。
【図7】本発明の一実施形態に係るパチンコ機の主制御部メイン処理を示すフローチャートである。
【図8】本発明の一実施形態に係るパチンコ機の主制御部タイマ割り込み処理を示すフローチャートである。
【図9】本発明の一実施形態に係るパチンコ機の副制御部に関連する各デバイスを抽象化したオブジェクトや表示内容を抽象化したオブジェクトの概要を示す図である。
【図10】図11とともに、図9に示すオブジェクトの構成を詳しく示す図である。
【図11】図10とともに、図9に示すオブジェクトの構成を詳しく示す図である。
【図12】本発明の一実施形態に係るパチンコ機の副制御部の処理を示すフローチャートである。
【図13】図12(a)のリセット信号受信割込処理のステップS301の初期化処理を詳しく示すフローチャートである。
【図14】本発明の一実施形態に係るパチンコ機の副制御部に記憶されたランプ初期設定テーブルの一例を示す図である。
【図15】図12(a)のリセット信号受信割込処理のステップS302のサブオブジェクト更新処理を詳しく示すフローチャートである。
【図16】本発明の別の実施形態に係るパチンコ機の副制御部に関連する各デバイスを抽象化したオブジェクトの概要を示す図である。
【図17】本発明の他の実施形態に係るスロットマシンの外観図である。
【特許請求の範囲】
【請求項1】
遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備えたことを特徴とする遊技台。
【請求項2】
前記演出装置オブジェクトは、
前記演出装置を制御するための制御情報を記憶するメンバ変数と、
所定の処理をして前記メンバ変数に制御情報を設定するメンバ関数と、
を有することを特徴とする請求項1記載の遊技台。
【請求項3】
前記演出装置を制御する演出制御装置と、
前記演出制御装置を抽象化した演出制御装置オブジェクトと、を備え、
前記演出制御装置オブジェクトのメンバ関数が前記演出装置オブジェクトを介して当該演出装置オブジェクトに対応する前記演出装置を制御することを特徴とする請求項2記載の遊技台。
【請求項4】
演出の内容を指示する制御情報を前記演出制御装置に送信する主制御装置と、
前記主制御装置を抽象化した主制御装置オブジェクトと、を備え、
前記演出制御装置オブジェクトは、前記主制御装置オブジェクトを介して前記演出の内容を取得することを特徴とする請求項3記載の遊技台。
【請求項5】
複数の前記演出装置を備え、
前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、
前記複数の演出装置オブジェクトの共通部分を集約した演出オブジェクトをさらに備え、
前記複数の演出装置オブジェクトそれぞれが前記演出オブジェクトのアドレスを記憶していることを特徴とする請求項1乃至4のいずれか1項に記載の遊技台。
【請求項6】
複数の前記演出装置を備え、
前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、
前記複数の演出装置オブジェクトは、それぞれ同一のサブルーチンを備えていることを特徴とする請求項1乃至4のいずれか1項に記載の遊技台。
【請求項7】
前記複数の演出装置は、音出力装置、画像表示装置、及びランプ装置を含み、
前記演出装置オブジェクトは、前記音出力装置、前記画像表示装置、及び前記ランプ装置をそれぞれ抽象化した音出力装置オブジェクト、画像表示装置オブジェクト、ランプ装置オブジェクトを含むことを特徴とする請求項5又は6記載の遊技台。
【請求項1】
遊技を演出する演出装置を抽象化した演出装置オブジェクトを介して前記演出装置を制御する演出制御処理を備えたことを特徴とする遊技台。
【請求項2】
前記演出装置オブジェクトは、
前記演出装置を制御するための制御情報を記憶するメンバ変数と、
所定の処理をして前記メンバ変数に制御情報を設定するメンバ関数と、
を有することを特徴とする請求項1記載の遊技台。
【請求項3】
前記演出装置を制御する演出制御装置と、
前記演出制御装置を抽象化した演出制御装置オブジェクトと、を備え、
前記演出制御装置オブジェクトのメンバ関数が前記演出装置オブジェクトを介して当該演出装置オブジェクトに対応する前記演出装置を制御することを特徴とする請求項2記載の遊技台。
【請求項4】
演出の内容を指示する制御情報を前記演出制御装置に送信する主制御装置と、
前記主制御装置を抽象化した主制御装置オブジェクトと、を備え、
前記演出制御装置オブジェクトは、前記主制御装置オブジェクトを介して前記演出の内容を取得することを特徴とする請求項3記載の遊技台。
【請求項5】
複数の前記演出装置を備え、
前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、
前記複数の演出装置オブジェクトの共通部分を集約した演出オブジェクトをさらに備え、
前記複数の演出装置オブジェクトそれぞれが前記演出オブジェクトのアドレスを記憶していることを特徴とする請求項1乃至4のいずれか1項に記載の遊技台。
【請求項6】
複数の前記演出装置を備え、
前記演出制御処理は、前記複数の演出装置のそれぞれを抽象化した複数の演出装置オブジェクトを介して前記複数の演出装置それぞれを制御し、
前記複数の演出装置オブジェクトは、それぞれ同一のサブルーチンを備えていることを特徴とする請求項1乃至4のいずれか1項に記載の遊技台。
【請求項7】
前記複数の演出装置は、音出力装置、画像表示装置、及びランプ装置を含み、
前記演出装置オブジェクトは、前記音出力装置、前記画像表示装置、及び前記ランプ装置をそれぞれ抽象化した音出力装置オブジェクト、画像表示装置オブジェクト、ランプ装置オブジェクトを含むことを特徴とする請求項5又は6記載の遊技台。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−112701(P2009−112701A)
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2007−291949(P2007−291949)
【出願日】平成19年11月9日(2007.11.9)
【出願人】(597044139)株式会社大都技研 (1,470)
【Fターム(参考)】
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願日】平成19年11月9日(2007.11.9)
【出願人】(597044139)株式会社大都技研 (1,470)
【Fターム(参考)】
[ Back to top ]