(57)【特許請求の範囲】
【請求項１】
遊技に関する演出を制御する演出制御手段を備えた遊技台であって、
前記演出制御手段は、複数のサブルーチンの先頭アドレスをアドレス記憶領域に記憶させる登録処理を実行する手段であり、
前記複数のサブルーチンの先頭アドレスのうちの少なくとも一つは、第一のアドレスであり、
前記複数のサブルーチンの先頭アドレスのうちの少なくとも一つは、第二のアドレスであり、
前記演出制御手段は、前記登録処理が終了した後で、繰り返し実行される第一の処理を少なくとも実行する手段であり、
前記演出制御手段は、前記登録処理が終了した後で、一定周期ごとに実行される第二の処理を少なくとも実行する手段であり、
前記演出制御手段は、前記第一の処理において、前記アドレス記憶領域に記憶されている前記第一のアドレスを先頭アドレスとするサブルーチンを少なくとも呼び出して実行する手段であり、
前記演出制御手段は、前記第二の処理において、前記アドレス記憶領域に記憶されている前記第二のアドレスを先頭アドレスとするサブルーチンを少なくとも呼び出して実行する手段である、
ことを特徴とする遊技台。
【請求項２】
請求項１に記載の遊技台であって、
前記演出制御手段は、前記複数のサブルーチンの先頭アドレスを前記アドレス記憶領域に記憶させるか否かを、予め定められた所定の規定値に基づいて判断する手段である、
ことを特徴とする遊技台。
【請求項３】
請求項１または２に記載の遊技台であって、
前記アドレス記憶領域は、複数の記憶領域で構成された領域である、
ことを特徴とする遊技台。
【請求項４】
請求項１乃至３のいずれか一項に記載の遊技台であって、
前記演出制御手段は、メイン制御において前記第一の処理を実行することで、遊技に関する演出を制御する手段であり、
前記演出制御手段は、予め定められた所定の周期ごとに実行される割込み制御において前記第二の処理を実行することで、遊技に関する演出を制御する手段であり、
前記演出制御手段は、前記メイン制御において、前記登録処理が一度実行された後に再び前記登録処理を実行しないように構成された手段であり、
前記演出制御手段は、前記割込み制御において前記登録処理を実行しないように構成された手段である、
ことを特徴とする遊技台。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の遊技台であって、
前記遊技台は、ぱちんこ機またはスロットマシンである、
ことを特徴とする遊技台。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ機やスロットマシンなどに代表される遊技台に関する。
【背景技術】
【０００２】
従来、パチンコ機に代表される遊技台は、発射装置から遊技球を発射し、その遊技球が所定の遊技領域に設けられた所定の入賞口に入球することで所定の利益を獲得することができるように構成されている。このような遊技台において、近年、複雑な制御パターンで様々な演出をする演出装置を有し、遊技者の興趣を高める遊技台が提供されている。（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２６８２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている発明のように、複雑な制御パターンで様々な演出装置を制御する遊技台を製作する場合は、複数のサブルーチン（複数の処理）を用意し、各々のサブルーチンを呼び出すための呼び出し処理（処理実行手段）が必要となってくる。この場合に、複数の処理に新たな処理を追加、又は削除などの変更を加えると、呼び出し処理にも新たな呼び出しのための変更を加えなければならず、変更箇所を確認するなどの変更作業に時間がかかってしまうという問題があった。
【０００５】
そこで、本発明は、複数の処理を追加、削除、変更する場合のメンテナンス性を向上させ、効率よくソフトウェア開発をすることができる遊技台を提供するものである。
【課題を解決するための手段】
【０００６】
本発明に係る遊技台は、遊技に関する演出を制御する演出制御手段を備えた遊技台であって、前記演出制御手段は、所定の処理の先頭アドレスを所定の記憶領域に記憶させる登録処理を実行するものであり、前記演出制御手段は、前記登録処理の後に、前記所定の記憶領域に記憶されたアドレスに対応する処理を複数回実行可能に構成されたものであることを特徴とする遊技台である。
【発明の効果】
【０００７】
本発明に係る遊技台によれば、遊技台の開発が効率的に行えるという優れた効果を奏し得る。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態にかかるパチンコ機１００を正面（遊技者側）から見た状態を示す略示正面図である。
【図２】（ａ）特別図柄を表す説明図であり、（ｂ）装飾図柄を表す説明図であり、（ｃ）普通図柄を表す説明図である。
【図３】同パチンコ機１００の主制御部、副制御部、払出制御部、発射制御部、および電源管理部の回路ブロック図である。
【図４】（ａ）は大当たり判定テーブルの一例を、（ｂ）は大当たり時の特図選択テーブルの一例を、（ｃ）はタイマ番号決定テーブルの一例を、それぞれ示した図である。
【図５】ＴＣテーブルの一例を示したものである。
【図６】（ａ）はボタン制御用のレイヤテーブルの一例を、（ｂ）はサウンド制御用のレイヤテーブルの一例を、（ｃ）は枠ランプ制御用のレイヤテーブルの一例を、（ｄ）は盤ランプ制御用のレイヤテーブルの一例をそれぞれ示したものである。
【図７】（ａ）はトラック情報テーブルの一例を示したものであり、（ｂ）はサウンドテーブルの一例を示したものである。
【図８】（ａ）はサウンドリスト００の一例を、（ｂ）はサウンドリスト０１の一例を、（ｃ）はサウンドリスト１４の一例を示したものである。
【図９】（ａ）は枠ランプ制御用のポート定義テーブルの一例を、（ｂ）は盤ランプ制御用のポート定義テーブルの一例を、（ｃ）はランプテーブルの一例を示したものである。
【図１０】（ａ）はランプリスト００の一例を、（ｂ）はランプリスト０１の一例を、（ｃ）はランプリスト１８の一例を、（ｄ）はランプリスト１９の一例を、示したものである。
【図１１】（ａ）はデューティリスト００の一例を、（ｂ）はデューティリスト０１の一例を、（ｃ）はデューティリスト２３の一例を、（ｄ）はデューティリスト２４の一例を、示したものである。
【図１２】（ａ）は背景演出選択テーブルの一例を示したものであり、（ｂ）は背景演出選択テーブルの他の例を示したものであり、（ｃ）は背景演出ＴＣ取得用テーブル１の一例を示したものであり、（ｄ）は背景演出ＴＣ取得用テーブル２の一例を示したものである。
【図１３】ＴＣ変更テーブルの一例を示したものである。
【図１４】副制御部３５０で実行されているメイン処理のフローチャートである。
【図１５】関数エントリ処理のフローチャートである。
【図１６】可動物の処理に関する関数エントリ処理のフローチャートである。
【図１７】関数呼出処理のフローチャートである。
【図１８】フレームワーク側とアプリケーション側のソフトウェア構造を表す概略イメージ図である。
【図１９】（ａ）描画完了割り込み処理のフローチャートであり、（ｂ）データ転送完了割り込み処理のフローチャートであり、（ｃ）描画イベント割込み処理のフローチャートであり、（ｄ）主制御ストローブ割込み処理のフローチャートであり、（ｅ）演出ボタン割り込み処理のフローチャートであり、（ｆ）０．３ｍｓタイマ割り込み処理のフローチャートであり、（ｇ）１ｍｓタイマ割り込み処理のフローチャートであり、（ｈ）入出力インタフェースエラー割込み処理のフローチャートであり、（ｉ）入出力インタフェース受信割込み処理のフローチャートであり、（ｊ）入出力インタフェース送信割込み処理のフローチャートである。
【図２０】第２実施形態にかかる可動物に関する処理の概略イメージ図である。
【図２１】副制御部メイン処理の関数呼出処理のフローチャートである。
【図２２】第３実施形態にかかる表示装置に関する処理の概略イメージ図である。
【図２３】１ｍｓタイマ割り込み処理のフローチャートである。
【図２４】トリガ関数テーブルの関数呼出処理のフローチャートである。
【図２５】第４実施形態にかかる表示装置に関する処理の概略イメージ図である。
【図２６】演出ボタン割り込み処理のフローチャートである。
【図２７】関数呼出処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を用いて、本発明の実施例に係るパチンコ機（遊技台）について詳細に説明する。
【００１０】
＜全体構成＞
【００１１】
まず、図１を用いて、本発明の実施例に係るパチンコ機１００の全体構成について説明する。なお、同図はパチンコ機１００を正面（遊技者側）から見た状態を示す略示正面図である。
【００１２】
パチンコ機１００は、遊技領域１０４を覆う閉状態および該遊技領域１０４を開放する開状態のうちの一方から他方に開閉状態を変化可能な上扉１５０と、この上扉１５０の奥側に視認可能に配設された遊技盤(盤面)１０２を備えている。この遊技盤１０２には、遊技球（以下、単に球と称する場合がある。）を遊技盤１０２の中央に位置する遊技領域１０４に案内するための外レール１０６と内レール１０８を配設している。
【００１３】
遊技領域１０４の中央やや上側には、横長の装飾図柄表示装置１１０を配設し、遊技領域１０４の右下には、普通図柄表示装置１１２と、特別図柄表示装置１１４と、普通図柄保留ランプ１１６と、特別図柄保留ランプ１１８と、高確中ランプ１２０を配設している。さらに、図示は省略するが、遊技盤１０２の上下及び左右の遊技盤端部付近には複数の演出用ランプが配設されている。なお、以下、普通図柄を普図、特別図柄を特図と称する場合がある。
【００１４】
装飾図柄表示装置１１０は、装飾図柄（図２（ｂ）参照）を表示するための表示装置であり、本実施例では液晶表示装置によって構成する。この装飾図柄表示装置１１０は、左図柄表示領域１１０ａ、中図柄表示領域１１０ｂ、右図柄表示領域１１０ｃの３つの表示領域に分割し、各々の表示領域１１０ａ、１１０ｂ、１１０ｃに異なった装飾図柄を表示することを可能としている。シャッタ１６０は、装飾図柄表示装置１１０の前面で装飾図柄表示装置１１０を遮蔽または表示するために、左図柄表示領域１１０ａ及び右図柄表示領域１１０ｃの外側から中図柄表示領域１１０ｂ方向（矢印Ａ及びＢ方向）に可動する可動物である。
【００１５】
普図表示装置１１２は、普図（図２（ｃ）参照）の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。特図表示装置１１４は、特図（図２（ａ）参照）の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。
【００１６】
普図保留ランプ１１６は、保留している普図変動遊技（詳細は後述）の数を示すためのランプであり、本実施例では、普図変動遊技の開始を２つまで保留することを可能としている。特図保留ランプ１１８は、保留している特図変動遊技（詳細は後述）の数を示すためのランプであり、本実施例では、特図変動遊技の開始を４つまで保留することを可能としている。
【００１７】
高確中ランプ１２０は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
【００１８】
また、これらの表示装置やランプ等の周囲には、一般入賞口１２２と、普図始動口１２４と、第１特図始動口１２６と、第２特図始動口１２８と、可変入賞口１３０を配設している。
【００１９】
一般入賞口１２２は、本実施例では左右に２つずつ配設しており、この一般入賞口１２２への入球を所定の球検出センサ（図示省略）が検出した場合（一般入賞口１２２に入賞した場合）、払出装置を駆動し、所定の個数（本実施例では１０個）の球を賞球として後述する貯留皿１４４に排出する。貯留皿１４４に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口１２２に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を賞球、遊技者に貸し出す球を貸球と区別して呼ぶ場合があり、賞球と貸球を総称して球（遊技球）と呼ぶ。
【００２０】
普図始動口１２４は、ゲートやスルーチャッカーと呼ばれる、遊技領域１０４の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では左右に１つずつ配設している。普図始動口１２４を通過した球は一般入賞口１２２に入球した球と違って、遊技島側に排出することはない。球が普図始動口１２４を通過したことを所定の球検出センサが検出した場合、パチンコ機１００は、普図表示装置１１２による普図変動遊技を開始する。
【００２１】
第１特図始動口１２６は、本実施例では中央に１つだけ配設している。この第１特図始動口１２６への入球を所定の球検出センサが検出した場合、払出装置を駆動し、所定の個数（本実施例では３個）の球を賞球として後述する貯留皿１４４に排出するとともに、特図表示装置１１４による特図変動遊技を開始する。なお、第１特図始動口１２６に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００２２】
第２特図始動口１２８は、電動チューリップ（電チュー）と呼ばれ、本実施例では第１特図始動口１２６の真下に１つだけ配設している。この第２特図始動口１２８は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置１１２が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第２特図始動口１２８への入球を所定の球検出センサが検出した場合、払出装置を駆動し、所定の個数（本実施例では５個）の球を賞球として後述する貯留皿１４４に排出するとともに、特図表示装置１１４による特図変動遊技を開始する。なお、第２特図始動口１２８に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００２３】
可変入賞口１３０は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技領域１０４の中央部下方に１つだけ配設している。この可変入賞口１３０は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置１１４が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔（例えば、開放時間２９秒、閉鎖時間１．５秒）、所定の回数（例えば１５回）で開閉する。可変入賞口１３０への入球を所定の球検出センサが検出した場合、払出装置を駆動し、所定の個数（本実施例では１５球）の球を賞球として後述する貯留皿１４４に排出する。なお、可変入賞口１３０に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００２４】
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材１３２や、遊技釘１３４を複数個、配設していると共に、内レール１０８の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機１００の裏側に誘導した後、遊技島側に排出するためのアウト口１３６を設けている。
【００２５】
遊技盤１０２の下方には、発射モータによって回動する発射杆１３８と、この発射杆１３８の先端部に取り付けられて球を遊技領域１０４に向けて打ち出す発射槌１４０と、この発射槌１４０によって打ち出す球を外レール１０６に導くための発射レール１４２と、球を一時的に貯留すると共に、貯留している球を順次、発射レール１４２に供給するための貯留皿１４４と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に上述の装飾図柄表示装置１１０などによる演出表示を変化させるためのチャンスボタン（以下、演出ボタンと言うことがある）１４６を配設している。
【００２６】
また、発射杆１３８および発射槌１４０の下方には、発射杆１３８を制御して遊技領域１０４に向けて球の発射強度の操作を行うための操作ハンドル１４８を配設していると共に、貯留皿１４４の下方には、貯留皿１４４に貯留できない溢れ球を貯留するための下皿１５１を設けている。
【００２７】
また、演出用のスピーカとして、上扉１５０の上部に２つの上部スピーカ（図示省略）を配設すると共に、遊技盤１０２左下側内部に１つの下部スピーカ（図示省略）を配設している。上部スピーカは、直前の上部スピーカダクトに接続され、下部スピーカは、操作ハンドル１４８の下方で前方に向けて開口する下部スピーカダクトに接続されている。
【００２８】
さらに、装飾用のランプ３７０として、遊技盤１０２の所定箇所（例えば、内レール１０８の内周側に沿った箇所）に複数種類の盤ランプを配設すると共に、上扉１５０の所定箇所に複数種類の枠ランプ（詳細は後述する）を配設している。
【００２９】
このパチンコ機１００は、遊技者が貯留皿１４４に貯留している球を発射レールの発射位置に供給し、遊技者の操作ハンドル１４８の操作量に応じた強度で発射モータを駆動し、発射杆１３８および発射槌１４０によって外レール１０６、内レール１０８を通過させて遊技領域１０４に打ち出す。そして、遊技領域１０４の上部に到達した球は、打球方向変換部材１３２や遊技釘１３４などによって進行方向を変えながら下方に落下し、入賞口（一般入賞口１２２、可変入賞口１３０）や始動口（第１特図始動口１２６、第２特図始動口１２８）に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口１２４を通過するのみでアウト口１３６に到達する。
【００３０】
＜制御部＞
【００３１】
次に、図３を用いて、このパチンコ機１００の制御部の回路構成について詳細に説明する。なお、同図は主制御部、副制御部、払出制御部、発射制御部、および電源管理部の回路ブロック図である。
【００３２】
パチンコ機１００の制御部は、大別すると、遊技の中枢部分を制御する主制御部３００と、主制御部３００が送信するコマンド信号（以下、単にコマンドと呼ぶ）に応じて、主に演出の制御を行う副制御部３５０と、主制御部３００が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部４００と、遊技球の発射制御を行う発射制御部４５０と、パチンコ機１００に供給される電源を、パチンコ機１００に搭載した電気部品に送電するための所定の電力を生成する電源管理部５００によって構成している。
【００３３】
＜主制御部＞
【００３４】
まず、パチンコ機１００の主制御部３００について説明する。
【００３５】
主制御部３００は、主制御部３００の全体を制御する基本回路３０２を備えており、この基本回路３０２には、ＣＰＵ３０４と、制御プログラムや各種データを記憶するためのＲＯＭ３０６と、一時的にデータを記憶するためのＲＡＭ３０８と、各種デバイスの入出力を制御するためのＩ／Ｏ３１０と、時間や回数などを計測するためのカウンタ・タイマ３１２と、を搭載している。なお、ＲＯＭ３０６やＲＡＭ３０８については他の記憶手段を用いてもよく、この点は後述する副制御部３５０や払出制御部４００についても同様である。この基本回路３０２のＣＰＵ３０４は、水晶発信器３１４ａが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【００３６】
また、基本回路３０２には、水晶発信器３１４ａが出力するクロック信号を受信する度に０〜６５５３５の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路３１６（この回路には２つのカウンタを内蔵しているものとする）と、上扉１５０および下扉（図示省略）の開放／閉鎖を検出する扉開放センサ、内枠（図示省略）の開放／閉鎖を検出する内枠開放センサ、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサなどを含む各種センサ３１８が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路３１６および基本回路３０２に出力するためのセンサ回路３２０と、特図表示装置１１４の表示制御を行うための表示回路３２２と、普図表示装置１１２の表示制御を行うための表示回路３２４と、各種状態表示部３２６（普図保留ランプ１１６、特図保留ランプ１１８など）の表示制御を行うための表示回路３２８と、第２特図始動口１２８や可変入賞口１３０などを開閉駆動する各種ソレノイド３３０を制御するためのソレノイド回路３３２を接続している。
【００３７】
なお、第１特図始動口１２６に球が入賞したことを球検出センサ３１８が検出した場合には、センサ回路３２０は球を検出したことを示す信号をカウンタ回路３１６に出力する。この信号を受信したカウンタ回路３１６は、第１特図始動口１２６に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第１特図始動口１２６に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路３１６は、第２特図始動口１２８に球が入賞したことを示す信号を受信した場合も同様に、第２特図始動口１２８に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第２特図始動口１２８に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
【００３８】
さらに、基本回路３０２には、情報出力回路３３４を接続しており、主制御部３００は、この情報出力回路３３４を介して、外部のホールコンピュータ（図示省略）等が備える情報入力回路５５０にパチンコ機１００の遊技情報（例えば、遊技状態）を出力する。
【００３９】
また、主制御部３００には、電源管理部５００から主制御部３００に供給している電源の電圧値を監視する電圧監視回路３３６を設けており、この電圧監視回路３３６は、電源の電圧値が所定の値（本実施例では９ｖ）未満である場合に電圧が低下したことを示す低電圧信号を基本回路３０２に出力する。
【００４０】
また、主制御部３００には、電源が投入されると起動信号を出力する起動信号出力回路３３８を設けており、ＣＰＵ３０４は、この起動信号出力回路から起動信号を入力した場合に、遊技制御を開始する（後述する主制御部メイン処理を開始する）。
【００４１】
また、主制御部３００には、副制御部３５０にコマンドを送信するための出力インタフェースと、払出制御部４００にコマンドを送信するための出力インタフェースをそれぞれ設けており、副制御部３５０には、主制御部３００からコマンドを受信するための入力インタフェースを設け、払出制御部４００には、主制御部３００からコマンドを受信するための入力インタフェースを設けている。この構成により、主制御部３００と、副制御部３５０および払出制御部４００との通信を可能としている。なお、主制御部３００と副制御部３５０および払出制御部４００との情報通信は一方向の通信であり、主制御部３００は副制御部３５０および払出制御部４００にコマンド等の信号を送信できるように構成しているが、副制御部３５０および払出制御部４００からは主制御部３００にコマンド等の信号を送信できないように構成している。
【００４２】
＜副制御部＞
【００４３】
次に、パチンコ機１００の副制御部３５０について説明する。
【００４４】
副制御部３５０は、主に主制御部３００が送信したコマンド等に基づいて副制御部３５０の全体を制御する基本回路３５２を備えており、この基本回路３５２には、ＣＰＵ３５４と、制御プログラムや各種データを記憶するためのＲＯＭ３５６と、一時的にデータを記憶するためのＲＡＭ３５８と、各種デバイスの入出力を制御するためのＩ／Ｏ３６０と、時間や回数などを計測するためのカウンタ・タイマ３６２を搭載している。この基本回路３５２のＣＰＵ３５４は、水晶発信器３６４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【００４５】
また、基本回路３５２には、上部スピーカおよび下部スピーカ等の各種スピーカ３６６（およびアンプ）の制御を行うための音源ＩＣ３６８と、枠ランプ、盤ランプなどの各種ランプ３７０の制御を行うための表示回路３９０と、各種演出用ソレノイド等３７４（可動演出装置とも言う）の制御を行うためのソレノイド回路３７６と、装飾図柄表示装置（液晶表示装置）１１０の制御を行うための液晶制御回路３７８と、シャッタ１６０を可動させるためのモータ３８２の制御を行うためのモータ回路３８０と、演出ボタン１４６の操作を検出した場合に基本回路３５２に検出信号を出力する演出ボタン検出回路３６４を接続している。
【００４６】
また、副制御部３５０には、電源が投入されると起動信号を出力する起動信号出力回路（図示省略）を設けており、ＣＰＵ３５４は、この起動信号出力回路から起動信号を入力した場合に、演出制御を開始する。
【００４７】
＜払出制御部、発射制御部、電源管理部＞
【００４８】
次に、図３に示すパチンコ機１００の払出制御部４００、発射制御部４５０、および電源管理部５００について説明する。
【００４９】
払出制御部４００は、主に主制御部３００が送信したコマンド等の信号に基づいて払出装置４０２を制御すると共に、払出センサ４０４が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部４０６を介して、パチンコ機１００とは別体で設けられたカードユニット５５２との通信を行う。発射制御部４５０は、払出制御部４００が出力する、発射許可または停止を指示する制御信号や、操作ハンドル１４８内に設けた発射強度出力回路が出力する、遊技者による操作ハンドル１４８の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆および発射槌を駆動する発射モータ４５２の制御や、貯留皿１４４から発射レールに球を供給する球送り装置４５４の制御を行う。
【００５０】
電源管理部５００は、パチンコ機１００に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部３００、払出制御部４００などの各制御部や払出装置４０２などの各装置に供給する。さらに、電源管理部５００は、外部からの電源が断たれた後も所定の部品（例えば主制御部３００のＲＡＭ３０８など）に所定の期間（例えば１０日間）電力を供給するための蓄電装置（例えばコンデンサ）と、この蓄電装置よりも静電容量が小さく、所定の部品（例えば主制御部３００の基本回路３０２全体）に供給している電力が、静電気ノイズ、人的なミス、遊技台に供給される電力の低下などが原因で変動し、低下している場合に、ある程度の電力を補うための蓄電装置（例えばコンデンサ）をさらに備えている。この蓄電装置により、所定の部品（例えば主制御部３００）に供給される電力が電断時、復電時などに不安定になっても、ある程度安定してその所定の部品は動作できるように構成している。また、電源管理部５００を構成する電源基板には遊技店の店員などが操作可能な操作部（ＲＡＭクリアスイッチ）を備えており、電源投入時にこの操作部が操作されていることを検出した場合には、各制御部の基本回路３０２および３５２に、ＲＡＭ３０８および３５８を初期化することを指令するＲＡＭクリア信号を出力するようにしている。
【００５１】
＜主制御部のデータテーブル＞
【００５２】
次に、パチンコ機１００の主制御部３００のＲＯＭ３０６が記憶しているデータテーブルについて説明する。図４（ａ）に示す大当たり判定テーブルは、ＲＡＭ３０８に設けた遊技状態格納領域に記憶している特図抽選状態の種類と、抽選データと、を対応付けして記憶したデータテーブルである。
【００５３】
主制御部３００の基本回路３０２は、この大当たり判定テーブルを用いて特図変動遊技を当選（大当たり）とするか、不当選（外れ）とするかの決定、すなわち大当たり判定を行う。なお、特図抽選状態の情報は、特図変動遊技を所定の低確率で当選と判定する低確率状態を示す情報、および低確率よりも高い高確率で特図変動遊技を当選と判定する高確率状態を示す情報などを含むが、以下、これらを単に低確率状態および高確率状態と称する。また、遊技状態格納領域に記憶する情報には別の情報もあるが、これらの情報については後述する。
【００５４】
大当たり判定テーブルの抽選データは、第１特図始動口１２６または第２特図始動口１２８に球が入賞したことを所定の球検出センサが検出した場合に開始する特図変動遊技の結果を決定するために使用する抽選データである。例えば、特図抽選状態が低確率状態の場合、取得した特図当選乱数値（乱数値については後述する）が１０００１〜１０１８７であるときは、特図変動遊技の当選と判定してＲＡＭ３０８に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する（以下、大当たりフラグの格納領域に大当たりの情報を設定することを「大当たりフラグをオンに設定する」という）。一方、取得した特図当選乱数値が１０００１〜１０１８７以外の数値である場合には、特図変動遊技の外れと判定して上述の大当たりフラグの格納領域に外れとなることを示す情報を設定する（以下、大当たりフラグの格納領域に外れの情報を設定することを「大当たりフラグをオフに設定する」という）。なお、本実施例では、特図当選乱数値の取り得る数値範囲は０〜６５５３５（数値範囲の大きさは６５５３６）、低確率状態における抽選データが示す数値範囲は１０００１〜１０１８７（数値範囲の大きさは１８７）であるから、低確率状態の第１特図始動口１２６または第２特図始動口１２８への球の入賞に基づく特図変動遊技の当選確率は、約１／３５０．４（＝１８７／６５５３６）である。これに対して、高確率状態における抽選データが示す数値範囲は２０００１〜２１８７１（数値範囲の大きさは１８７１）であるから、高確率状態の第１特図始動口１２６または第２特図始動口１２８への球の入賞に基づく特図変動遊技の当選確率は約１／３５．０（＝１８７１／６５５３６）であり、特図変動遊技の当選確率は、低確率状態よりも高確率状態の方が高くなるように設定している。
【００５５】
図４（ｂ）に示す高確率状態移行判定テーブルは、上述の大当たり判定の結果、大当たりと判定した場合に使用する抽選データを記憶したデータテーブルである。
【００５６】
主制御部３００の基本回路３０２は、この高確率状態移行判定テーブルを用いて、特図変動遊技の終了後に大当たり遊技を開始するか、または特別大当たり遊技を開始するかの判定、すなわち確変移行判定を行う。例えば、取得した特図乱数値（乱数値については後述する）が１１〜７４の数値である場合には、ＲＡＭ３０８に設けた確変（確率変動）フラグの格納領域に、特図変動遊技の終了後に特別大当たり遊技を開始することを示す情報を設定する（ここで、確変フラグの格納領域に特別大当たり遊技開始の情報を設定することを確変フラグをオンに設定するという）。一方、取得した特図乱数値が１１〜７４の数値以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する（ここで、確変フラグの格納領域に大当たり遊技開始の情報を設定することを確変フラグをオフに設定するという）。なお、本実施例では、特図乱数値の取り得る数値範囲は０〜１２７（数値範囲の大きさは１２８）、抽選データの移行判定乱数の範囲は１１〜７４（数値範囲の大きさは６４）であるから、大当たり判定の結果が当選である場合に確変移行判定の結果を当選にする確率、すなわち特別大当たりを開始する確率は１／２（＝６４／１２８）である。
【００５７】
図４（ｃ）に示すタイマ番号決定テーブルは、上述の大当たりフラグと、抽選データと、特図表示装置１１４による特図の変動表示を開始してから停止表示をするまでの変動時間を示すタイマ番号と、を対応付けして記憶したデータテーブルである。
【００５８】
主制御部３００の基本回路３０２は、このタイマ番号決定テーブルと、上述の大当たり判定結果（大当たりフラグの値）および後述する特図タイマ乱数値（乱数値については後述する）に基づいて、タイマ番号を選択する。例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が０〜６０２３５の数値である場合には、タイマ番号としてタイマ１（変動時間５秒）を選択し、大当たりフラグがオンで、取得した特図タイマ乱数値が０〜１５５３５の数値である場合には、タイマ番号としてタイマ２（変動時間１０秒）を選択する。なお、本実施例では、特図タイマ乱数値の取り得る数値範囲は０〜６５５３５（数値範囲の大きさは６５５３６）、上述の大当たり判定結果が不当選の場合は、タイマ１のタイマ乱数の範囲は０〜６０２３５（数値範囲の大きさは６０２３６）であるから、タイマ番号としてタイマ１（変動時間５秒）を選択する確率は６０２３６／６５５３６である。また、タイマ番号として、タイマ２（変動時間１０秒）を選択する確率は４２５０／６５５３６、タイマ３（変動時間２０秒）を選択する確率は８００／６５５３６、タイマ３（変動時間４０秒）を選択する確率は２５０／６５５３６である。一方、大当たり判定結果が当選の場合は、タイマ２のタイマ乱数の範囲は０〜１５５３５（数値範囲の大きさは１５５３６）であるから、タイマ番号としてタイマ２（変動時間１０秒）を選択する確率は１５５３５／６５５３６である。また、タイマ番号として、タイマ３（変動時間２０秒）を選択する確率は９０００／６５５３６、タイマ４（変動時間４０秒）を選択する確率は３８０００／６５５３６、タイマ５（変動時間５０秒）を選択する確率は３０００／６５５３６である。
【００５９】
＜副制御部のデータテーブル＞
【００６０】
次に、パチンコ機１００の副制御部３５０のＲＯＭ３５６が記憶しているデータテーブルについて説明する。
【００６１】
図５はＴＣ（Time Chart）テーブルの一例を示したものである。このＴＣテーブルは、ＴＣ情報（液晶情報）のＴＣ番号と、ＴＣデータ（演出時間情報、各種レイヤテーブルのレイヤ番号）と、を対応付けして記憶したデータテーブルである。なお、ＴＣテーブルの右側欄外には、ＴＣ情報の名称を参考までに記載しており、例えば、ＴＣテーブルに記憶した複数のＴＣ情報のうち、ＴＣ番号１０〜３２のＴＣ情報は、後述する予告ＴＣ情報であり、より詳細には、ＴＣ番号１０のＴＣ情報は共通予告ＴＣ情報、ＴＣ番号１１のＴＣ情報はキャラ予告ＴＣ情報、ＴＣ番号１６のＴＣ情報は背景予告ＴＣ情報、ＴＣ番号３１は図柄停止中（前）予告ＴＣ情報、ＴＣ番号３２は図柄停止中（後）予告ＴＣ情報である。また、ＴＣ番号４０のＴＣ情報は、スベリＴＣ情報である。
【００６２】
副制御部３５０の基本回路３５２は、このＴＣテーブルを参照し、ＴＣ情報のＴＣ番号に基づいて、ＴＣデータ（演出時間情報、各種レイヤテーブルのレイヤ番号）を取得する。例えば、ＴＣ情報のＴＣ番号が３１の場合には、ＴＣ番号３１に対応するＴＣデータ、すなわち、演出時間情報２８００（ｍｓ）、ボタンのレイヤ番号−１、サウンドのレイヤ番号−１、サウンド２のレイヤ番号３５、枠ランプのレイヤ番号１０、盤ランプのレイヤ番号１１、盤ランプ２のレイヤ番号−１を取得する。
【００６３】
図６（ａ）はボタン制御用のレイヤテーブルの一例を、同図（ｂ）はサウンド制御用のレイヤテーブルの一例を、同図（ｃ）は枠ランプ制御用のレイヤテーブルの一例を、同図（ｄ）は盤ランプ制御用のレイヤテーブルの一例をそれぞれ示したものである。これらのレイヤテーブルは、レイヤ番号と、レイヤデータ（切替時間情報、デバイス番号、液晶情報、処理区分情報）と、を対応付けして記憶したデータテーブルである。
【００６４】
副制御部３５０の基本回路３５２は、このレイヤテーブルを参照し、上述のＴＣテーブルを用いて取得した各種レイヤテーブルのレイヤ番号と、対象レイヤの種別（本実施例ではボタンレイヤ、サウンドレイヤ、サウンド２レイヤ、枠ランプレイヤ、盤ランプレイヤ、盤２ランプレイヤの６種類）毎に区分けしてＲＡＭ３５８に設けた各レイヤ管理領域に記憶した先頭位置情報およびオフセット情報に基づいて、レイヤデータ（切替時間情報、デバイス番号、液晶情報、処理区分情報）を取得する。例えば、ＴＣテーブルを用いて取得したサウンド２のレイヤ番号が３５で、サウンド２レイヤ管理領域に記憶した先頭位置情報がレイヤテーブル（サウンド）の先頭アドレスで、オフセット情報が０の場合には、図６（ｂ）に示すレイヤテーブル（サウンド）の２行目のレイヤ番号３５に対応するレイヤデータ、すなわち、切替時間情報０（ｍｓ）、デバイス番号２６、液晶情報−１、処理区分情報０を取得する。また、上述のＴＣテーブルを用いて取得した枠ランプのレイヤ番号が５で、枠ランプレイヤ管理領域に記憶した先頭位置情報がレイヤテーブル（枠ランプ）の先頭アドレスで、オフセット情報が４の場合には、図６（ｃ）に示すレイヤテーブル（枠ランプ）の５行目のレイヤ番号５に対応する行からさらに後方の９行目に対応するレイヤデータ、すなわち、切替時間情報２９００（ｍｓ）、デバイス番号１８、液晶情報１２、処理区分情報０を取得する。
【００６５】
図７（ａ）はトラック情報テーブルの一例を示したものである。このトラック情報テーブルは、チャネル情報と、トラック情報と、を対応付けして記憶したデータテーブルである。
【００６６】
副制御部３５０の基本回路３５２は、このトラック情報テーブルを参照し、後述するサウンドリストを用いて取得したチャネル情報に基づいて、トラック情報を取得する。例えば、サウンドリストを用いて取得したチャネル情報が２の場合には、トラック情報として０を取得する。
【００６７】
図７（ｂ）はサウンドテーブルの一例を示したものである。このサウンドテーブルは、デバイス番号と、サウンドリストのアドレスと、を対応付けして記憶したテーブルである。
【００６８】
副制御部３５０の基本回路３５２は、このサウンドテーブルを参照し、上述のＴＣテーブルを用いて取得したサウンドレイヤ（サウンドレイヤ、サウンド２レイヤ）のデバイス番号に基づいて、後述するサウンドリストを記憶した記憶領域の先頭アドレスを取得する。例えば、上述のＴＣテーブルを用いて取得したサウンドレイヤのデバイス番号が２８の場合には、サウンドリストのアドレスとして、サウンドリスト１４を記憶した記憶領域の先頭アドレスを取得する。
【００６９】
図８（ａ）〜（ｃ）はサウンドリストの一例を示したものであり、同図（ａ）はサウンドリスト００の一例を、同図（ｂ）はサウンドリスト０１の一例を、同図（ｃ）はサウンドリスト１４の一例を示したものである。このサウンドリストは、開始時間情報と、サウンドデータ（開始時間情報、チャネル情報、フレーズ情報、ボリューム情報、パン情報）と、を対応付けして記憶したテーブルである。
【００７０】
副制御部３５０の基本回路３５２は、このサウンドリストを参照し、制御対象の種別（本実施例ではボタン、サウンド、サウンド２、枠ランプ、盤ランプ、盤ランプ２の６種類）毎に区分けしてＲＡＭ３５８に設けた各管理領域に記憶した先頭位置情報およびオフセット情報に基づいて、サウンドデータ（開始時間情報、チャネル情報、フレーズ情報、ボリューム情報、パン情報）を取得する。例えば、サウンド管理領域に記憶した先頭位置情報がサウンドリスト００の先頭アドレスで、サウンド管理領域に記憶したオフセット情報が０の場合には、図８（ａ）に示すサウンドリスト００の１行目に対応するサウンドデータ、すなわち、開始時間情報０ｍｓ、チャネル情報２、フレーズ情報２７４、ボリューム情報１００、パン情報６４を取得する。また、サウンド管理領域に記憶した先頭位置情報がサウンドリスト１４の先頭アドレスで、サウンド管理領域に記憶したオフセット情報が０の場合には、図８（ｃ）に示すサウンドリスト１４の１行目に対応するサウンドデータ、すなわち、開始時間情報０ｍｓ、チャネル情報１、フレーズ情報９０、ボリューム情報１００、パン情報６４を取得する。
【００７１】
図９（ａ）、（ｂ）はポート定義テーブルの一例を示したものであり、同図（ａ）は枠ランプ制御用のポート定義テーブルの一例を、同図（ｂ）は盤ランプ制御用のポート定義テーブルの一例を示したものである。このポート定義テーブルは、ポート情報と、セグメント番号と、ポート番号と、を対応付けして記憶したテーブルである。
【００７２】
図１０（ａ）〜（ｄ）はランプリストの一例を示したものであり、同図（ａ）はランプリスト００の一例を、同図（ｂ）はランプリスト０１の一例を、同図（ｃ）はランプリスト１８の一例を、同図（ｄ）はランプリスト１９の一例を、示したものである。このランプリストは、ポート情報と、点灯データ（開始時間情報、点灯情報）と、を対応付けして記憶したテーブルである。
【００７３】
副制御部３５０の基本回路３５２は、このランプリストを参照し、上述の枠ランプ管理領域、盤ランプ管理領域、または盤ランプ２管理領域に記憶した点灯先頭位置情報および点灯オフセット情報と、ポート情報に基づいて、点灯データ（開始時間情報、点灯情報）を取得する。例えば、枠ランプ管理領域に記憶した点灯先頭位置情報がランプリスト００の先頭アドレスで、枠ランプ管理領域に記憶した点灯オフセット情報が０で、ポート情報が０の場合には、図１０（ａ）に示すランプリスト００の１行目に対応する点灯データ、すなわち、開始時間情報０ｍｓ、点灯情報０（消灯）を取得する。また、枠ランプ管理領域に記憶した点灯先頭位置情報がランプリスト１８の先頭アドレスで、枠ランプ管理領域に記憶した点灯オフセット情報が３で、ポート情報が１の場合には、図１０（ｃ）に示すランプリスト１８の３行目に対応する行から３行さらに後方の６行目に対応する点灯データ、すなわち、開始時間情報１０ｍｓ、点灯情報０（消灯）を取得する。
【００７４】
図１１（ａ）〜（ｄ）はデューティリストの一例を示したものであり、同図（ａ）はデューティリスト００の一例を、同図（ｂ）はデューティリスト０１の一例を、同図（ｃ）はデューティリスト２３の一例を、同図（ｄ）はデューティリスト２４の一例を、示したものである。このデューティリストは、ポート情報と、デューティデータ（開始時間情報、デューティ情報）と、を対応付けして記憶したテーブルである。
【００７５】
副制御部３５０の基本回路３５２は、このデューティリストを参照し、上述の枠ランプ管理領域、盤ランプ管理領域、または盤ランプ２管理領域に記憶したデューティ先頭位置情報およびデューティオフセット情報と、ポート情報に基づいて、デューティデータ（開始時間情報、デューティ情報）を取得する。例えば、枠ランプ管理領域に記憶したデューティ先頭位置情報がデューティリスト００の先頭アドレスで、枠ランプ管理領域に記憶したデューティオフセット情報が０で、ポート番号が０の場合には、図１１（ａ）に示すデューティリスト００の１行目に対応するデューティデータ、すなわち、開始時間情報−１、デューティ情報−１を取得する。また、枠ランプ管理領域に記憶したデューティ先頭位置情報がデューティリスト２４の先頭アドレスで、枠ランプ管理領域に記憶したデューティオフセット情報が６で、ポート情報が４の場合には、図１１（ｄ）に示すデューティリスト２４の１５行目に対応する行から６行さらに後方の２１行目に対応するデューティデータ、すなわち、開始時間情報４８ｍｓ、デューティ２５４（全点灯）を取得する。
【００７６】
図１２（ａ）は背景演出選択テーブルの一例を示したものであり、同図（ｂ）は背景演出選択テーブルの他の例を示したものである。同図（ａ）の背景演出選択テーブルは、２種類の乱数値の範囲と、実行する処理を対応付けして記憶したテーブルであり、同図（ｂ）の背景演出選択テーブルは、停止予定の左図柄、停止予定の右図柄、実行する処理を対応付けして記憶したテーブルである。
【００７７】
副制御部３５０の基本回路３５２は、同図（ａ）の背景演出選択テーブルを用いた場合には、乱数値に基づいて実行する処理を選択し、同図（ｂ）の背景演出選択テーブルを用いた場合には、停止予定の左図柄、停止予定の右図柄に基づいて実行する処理を選択する。例えば、同図（ａ）の背景演出選択テーブルの検索列０（同図右側）の乱数値の範囲を用いるとともに、取得した乱数値が２０であった場合には、乱数値は０〜４１の数値範囲であることから、実行する処理として背景演出ＴＣ取得処理１を選択する。また、同図（ａ）の背景演出選択テーブルの検索列１（同図左側）の乱数値の範囲を用いるとともに、取得した乱数値が１００であった場合には、乱数値は５９〜１２７の数値範囲であることから、実行する処理として背景演出ＴＣ取得処理２を選択する。一方、同図（ｂ）の背景演出選択テーブルを用いるとともに、停止予定の左図柄が６、停止予定の右図柄が５であった場合には、実行する処理として背景演出ＴＣ取得処理１を選択する。
【００７８】
図１２（ｃ）は背景演出ＴＣ取得用テーブル１の一例を示したものであり、同図（ｄ）は背景演出ＴＣ取得用テーブル２の一例を示したものである。同図（ｃ）の背景演出ＴＣ取得用テーブル１は、検索行と、背景演出ＴＣを対応付けして記憶したテーブルであり、同図（ｄ）の背景演出ＴＣ取得用テーブル２は、キャラクタと、背景演出ＴＣを対応付けして記憶したテーブルである。
【００７９】
副制御部３５０の基本回路３５２は、同図（ｃ）の背景演出ＴＣ取得用テーブル１を用いた場合には、検索行に基づいて背景演出ＴＣを選択し、同図（ｄ）の背景演出ＴＣ取得用テーブル２を用いた場合には、キャラクタの種類に基づいて実行する処理を選択する。例えば、背景演出ＴＣ取得用テーブル１を用いるとともに、検索行が２であった場合には、背景演出ＴＣとしてＴＣ＿０１を選択する。また、背景演出ＴＣ取得用テーブル２を用いるとともに、キャラクタが犬であった場合には、背景演出ＴＣとしてＴＣ＿１２を選択する。
【００８０】
図１３はＴＣ変更テーブルの一例を示したものである。このＴＣ変更テーブルは、ＴＣ番号と、変更後のＴＣ番号を対応付けして記憶したテーブルである。
【００８１】
副制御部３５０の基本回路３５２は、このＴＣ変更テーブルを参照し、ＴＣ番号の変更を行う。例えば、ＴＣ番号５２は、ＴＣ変更テーブルによってＴＣ番号１５２に変更し、ＴＣ番号７０は、ＴＣ変更テーブルによって−１に変更する。
【００８２】
＜副制御部メイン処理＞
【００８３】
次に図１４を用いて第１実施形態にかかる副制御部メイン処理について説明する。同図は、副制御部３５０で実行されているメイン処理のフローチャートであり、副制御部３５０は、電源の投入後、電源の遮断などがない限りこのメイン処理を繰り返し実行する。
【００８４】
ステップＳ１０１では、遊技台の制御に必要な所定の関数エントリ（以下、エントリとは、関数の先頭アドレスをメモリ等へ登録することを意味し、単に登録と言うことがある。）処理を行う。具体的には、遊技台において遊技を進めるためには複数の関数（以下、処理又はプログラムと言うことがある）を所定のタイミングで実行する必要がある。例えば、本実施例では、可動物に関する処理、ランプに関する処理、音に関する処理、演出に関する処理、表示に関する処理、入出力インタフェースに関する処理等、遊技の実行に関する複数の処理がある。また、上記のそれぞれの処理は、さらに複数の処理から構成されている。例えば、可動物（例えば、シャッタ１６０）に関する処理は、可動物の初期化を行う可動物初期化処理、可動物の動作態様についてのコマンドを受信する可動物可動設定処理、可動物を制御する可動物可動処理等の複数の処理から構成される。なお、本実施例において関数とは、１または複数の処理をモジュール化したもので、呼び出し命令などによって実行されるものである。換言すれば、サブルーチンのことを指す。具体的には、Ｃ言語では「（）」命令、Z-80アセンブリ言語では「CALL」命令などで呼び出される（これらは一例であり、これらの命令には限定されない）。関数を呼び出す場合は、モジュール化した１または複数の処理の先頭アドレスをプログラムカウンタにロードして行うことが一般的である。
【００８５】
上述したステップＳ１０１の関数エントリ処理は、これら複数の関数の各先頭アドレスを前述した副制御部３５０のＲＡＭ３５８等のメモリに登録して処理ごとにグループ化して関数テーブルを生成する処理である。つまり、各処理の初期化に関する初期化処理の各先頭アドレスは初期設定関数テーブルに登録され、各処理の動作態様に関する設定処理の各先頭アドレスはコマンド受信関数テーブルに登録され、各処理の表示に関する制御処理の先頭アドレスは表示装置制御関数テーブルに登録され、各処理の動作制御に関する制御処理は演出制御関数テーブルに登録される。なお、上記の処理によっては登録の必要がない処理もあり、その場合は登録されない。例えば、音に関する処理では、表示に関する処理は必要ないので、表示装置制御関数テーブルに音に関する処理の先頭アドレスは登録されない。なお、本実施例で記載した関数エントリ処理、各種処理、関数テーブルは遊技に関する処理の一部であり、本実施例に例示したものに限定されるものではない。例えば、表示装置の表示に合わせて音を鳴らしたい場合は、表示装置制御関数テーブルに音に関する処理の先頭アドレスを登録しても構わない。
【００８６】
ステップＳ１０２では、ステップＳ１０１で生成した関数テーブルの中から所定の関数テーブルを呼び出すための引数を設定する。本実施例では、引数として初期設定関数テーブルを設定する例を示す。
【００８７】
ステップＳ１０３では、ステップＳ１０1で生成した関数テーブルの中からステップＳ１０２で設定した引数に対応する関数テーブルを呼び出し、その関数テーブルに登録されている関数の先頭アドレスを呼び出して実行する。後で説明するが、ステップ１０３では、関数テーブルに登録されている全ての関数（プログラム）の先頭アドレスを呼び出したか否か判定し、全ての関数の先頭アドレスを呼び出すまで、先頭アドレスの呼び出し処理を繰り返し実行する。
【００８８】
上述したステップＳ１０1〜Ｓ１０３の処理によって、まず遊技台の遊技に関する処理ごとに必要な複数の関数テーブルを生成し、その関数テーブルに関数の先頭アドレスを登録する。その後引数に設定した関数テーブルを呼び出し、その関数テーブルに登録されている全ての関数の先頭アドレスを連続して呼び出して実行する。なお、本実施例では、関数テーブルに登録されている関数の実行は、関数テーブル毎に登録されている関数を連続して実行するようにしたが、実行する関数に優先順位を付して任意の順番で実行しても好ましい。
【００８９】
ステップＳ１０４〜Ｓ１１０は、ステップＳ１０２〜Ｓ１０３と同様の処理を引数に設定された関数テーブルごとに実行する。次に、ステップＳ１０４〜Ｓ１１０の処理について簡単に説明する。
【００９０】
ステップＳ１０４では、更新のタイミングか否かを判断する。更新のタイミングでない場合、再度コマンド受信関数テーブルの呼び出し処理を繰り返し実行する。更新のタイミングと判断した場合、ステップＳ１０５へ進む。更新タイミングは、液晶表示装置の描画を変更するタイミングで、後で説明する描画完了割り込みの割込み回数により決定され、本実施例では、描画完了割り込みが２回行われた場合に更新タイミングとなる。
【００９１】
ステップＳ１０５では、引数にコマンド受信関数テーブルを設定し、ステップＳ１０６に進む。
【００９２】
ステップＳ１０６では、上述したステップＳ１０１で生成した関数テーブルの中からコマンド受信関数テーブルを呼び出し、そのコマンド受信関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行する。
【００９３】
ステップＳ１０７では、引数に装飾図柄表示装置１１０の制御を行う表示装置制御関数テーブルを設定し、ステップＳ１０８に進む。
【００９４】
ステップＳ１０８では、上述したステップＳ１０１で生成した関数テーブルの中から表示装置制御関数テーブルを呼び出し、その表示装置制御関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行する。
【００９５】
ステップＳ１０９では、引数に演出制御関数テーブルを設定し、ステップＳ１１０に進む。
【００９６】
ステップＳ１１０では、ステップＳ１０１で生成した関数テーブルの中から演出制御関数テーブルを呼び出し、その演出制御関数テーブルに登録されている全ての関数の先頭アドレスを呼び出して実行した後、ステップＳ１０４へ戻り、ステップＳ１０４〜Ｓ１１０の処理を繰り返す。
【００９７】
なお、先にも述べたが、上述で示した関数テーブルは１例であり、遊技台の機能ごとに必要な関数テーブルが異なることは言うまでもない。例えば、表示制御関数テーブルは、表示装置に関する処理の関数エントリ処理で生成されて呼び出される関数テーブルであり、その他の関数エントリ処理では生成、呼び出しをされない。
【００９８】
また、遊技毎（若しくは突発的に）に様々な割り込み処理が発生し、上記以外の関数テーブルが引数に設定されることがある。その場合には、その割り込み処理で呼び出された関数テーブルに登録されている関数の先頭アドレスが呼び出されて実行される。例えば、演出ボタン１４６が押下されると、引数に演出ボタン関数テーブルが設定され、演出ボタン関数テーブルが呼び出される。そして、その関数テーブルに登録されている関数の先頭アドレスが実行される。この割り込み処理については、図１８を用いて後で説明する。
【００９９】
次に、図１５は、関数エントリ処理のフローチャートである。同図を用いて、上述した副制御部メイン処理におけるステップＳ１０１の関数エントリ処理について説明する。関数エントリ処理は、遊技台の遊技に関する処理ごとに所定の関数エントリ処理（本実施例では、図１５に示す６種類の関数エントリ処理がある）がある。その関数エントリ処理では機能ごとに区分された複数の関数テーブルを生成し、その関数テーブルに必要な関数の先頭アドレスを登録する。
【０１００】
ステップＳ２０１では、シャッタ（図示省略）等の可動物に関する関数エントリ処理を行い、ステップＳ２０２に進む。
【０１０１】
ステップＳ２０２では、各種ランプ３７０等のランプに関する関数エントリ処理を行い、ステップＳ２０３に進む。
【０１０２】
ステップＳ２０３では、スピーカ３６６等の音に関する関数エントリ処理を行い、ステップＳ２０４に進む。
【０１０３】
ステップＳ２０４では、装飾図柄表示装置１１０等の表示装置に関する関数エントリ処理を行い、ステップＳ２０５に進む。
【０１０４】
ステップＳ２０５では、演出装置に関する関数エントリ処理を行い、ステップ２０６に進む。
【０１０５】
ステップＳ２０６では、入出力インタフェースに関する関数エントリ処理を行い、関数エントリ処理を終了する。
【０１０６】
なお、上述の関数エントリ処理の他、遊技台の処理に必要な関数エントリ処理を適宜追加、削除してもよいことは言うまでもない。
【０１０７】
ステップＳ２０１〜Ｓ２０６に記載した関数エントリ処理により、遊技台の処理に必要な関数テーブルを生成すると共に、その関数テーブルに必要な関数の先頭アドレスを全て登録する。
【０１０８】
次に図１６を用いて、関数エントリ処理について詳細に説明する。同図は、関数エントリ処理のうち可動物に関する関数エントリ処理のフローチャートである。なお、ランプに関する関数エントリ処理、音に関する関数エントリ処理、表示装置に関する関数エントリ処理、演出装置に関する関数エントリ処理、入出力インタフェースに関する関数エントリ処理の流れも基本的には同じである。ただし、それぞれの関数エントリ処理ごとに必要な関数が異なるため、関数テーブルに登録する関数の先頭アドレスが異なることは言うまでもない。
【０１０９】
ステップＳ３０１では、初期設定処理で実行する関数の先頭アドレスを初期設定関数テーブルに登録する。本実施例では、初期設定処理で実行する関数は１０個あり、全ての関数の先頭アドレスを初期設定関数テーブルに登録し、ステップＳ３０２に進む。
【０１１０】
ステップＳ３０２では、コマンド受信処理で実行する関数の先頭アドレスをコマンド受信関数テーブルに登録し、ステップＳ３０３に進む。
【０１１１】
ステップＳ３０３では、表示装置処理で実行する関数の先頭アドレスを表示装置制御関数テーブルに登録し、ステップＳ３０４に進む。なお、可動物に関する処理では、ここでは何も登録されない。
【０１１２】
ステップＳ３０４では、演出制御処理で実行する関数の先頭アドレスを演出制御関数テーブルに登録し、ステップＳ３０５に進む。
【０１１３】
ステップ３０５では、描画完了割り込みで実行する関数の先頭アドレスを描画完了関数テーブルに登録し、ステップＳ３０６に進む。なお、可動物に関する処理では、ここでは何も登録されない。
【０１１４】
ステップＳ３０６では、データ転送完了割り込みで実行する関数の先頭アドレスをデータ転送完了関数テーブルに登録し、ステップＳ３０７に進む。
【０１１５】
ステップＳ３０７では、描画イベント割込みで実行する関数の先頭アドレスを描画イベント関数テーブルに登録し、ステップＳ３０８に進む。なお、可動物に関する処理では、ここでは何も登録されない。
【０１１６】
ステップＳ３０８では、主制御ストローブ割込みで実行する関数の先頭アドレスを主制御ストローブ関数テーブルに登録し、ステップＳ３０９に進む。
【０１１７】
ステップＳ３０９では、演出ボタン割り込み処理で実行する関数の先頭アドレスを演出ボタン関数テーブルに登録し、ステップＳ３１０に進む。
【０１１８】
ステップＳ３１０では、０．３ｍｓタイマ割り込みで実行する関数の先頭アドレスを０．３ｍｓタイマ関数テーブルに登録し、ステップＳ３１１に進む。
【０１１９】
ステップＳ３１１では、１ｍｓタイマ割り込みで実行する関数の先頭アドレスを１ｍｓタイマ関数テーブルに登録し、ステップＳ３１２に進む。
【０１２０】
ステップＳ３１２では、入出力インタフェースエラー割込みで実行する関数の先頭アドレスを入出力インタフェースエラー関数テーブルに登録し、ステップＳ３１３に進む。
【０１２１】
ステップＳ３１３では、入出力インタフェース受信割込みで実行する関数の先頭アドレスを入出力インタフェース受信関数テーブルに登録し、ステップＳ３１４に進む。
【０１２２】
ステップＳ３１４では、入出力インタフェース送信割込みで実行する関数の先頭アドレスを入出力インタフェース送信関数テーブルに登録する。
【０１２３】
ステップＳ３１５では、登録した関数につき、１０を超えていないかを判定する。１０を超えていた場合、ステップＳ３１６に進み、エラー表示を行う。なお、１つの関数の先頭アドレスを登録する度に、先頭アドレスの登録数と予め設定している上限値（本実施例では１０）を比較し、先頭アドレスの登録数が上限値よりも多くなった場合にはエラー表示をするようにしてもよく、上述したステップＳ３０２〜Ｓ３１４でも同じように、それぞれの関数エントリ処理が終わる度に関数テーブルに登録した関数の先頭アドレスの登録数と上限値を比較し、先頭アドレスの登録数が上限値よりも多くなった場合にはエラー表示する構成にしても好ましい。なお、本実施例においては、エラー処理の具体例としてエラー表示を行ったが、単に登録を行わないという処理にしても好ましい。
【０１２４】
なお、前述したが、図１６に記載した関数の先頭アドレスの登録は１例であり、同図に記載されている全ての関数の先頭アドレスを登録する必要はなく、また、割り込み処理については、それぞれの割り込みを受信した場合にのみ対応する関数テーブルを呼び出し、必要な関数の先頭アドレスを登録すれば良い。
【０１２５】
なお、各登録（エントリ）処理につき、共通エントリ処理という１つのサブルーチンを用意し、関数テーブルに登録する際には、登録したい関数を引数として設定し、共通エントリ処理を呼び出すという構成にしても好ましい。
【０１２６】
図１７は、前述した副制御部メイン処理におけるステップＳ１０３の関数呼出処理の流れを示すフローチャートである。同図を用いて、関数呼出処理について詳細に説明する。
【０１２７】
まず、ステップＳ４０１は、前述したステップＳ１０２で引数に設定された関数テーブル（例えば、初期設定関数テーブル）を参照し、ステップＳ４０２に進む。
【０１２８】
ステップＳ４０２では、参照した関数テーブルに登録されている関数の先頭アドレスを呼び出し、ステップＳ４０３に進む。
【０１２９】
ステップＳ４０３では、関数テーブルに登録されている関数の全ての先頭アドレスを呼び出したか否か判断し、全ての先頭アドレスを呼び出していない場合、ステップＳ４０４へ進み、その関数テーブルの次の関数の先頭アドレスを参照する。本実施例では、初期設定関数テーブルに登録されている全ての関数を呼び出した場合、次にコマンド受信関数テーブルに登録されている関数の先頭アドレスを参照する。また、全ての関数の先頭アドレスを呼び出した場合は関数呼出処理を終了する。
【０１３０】
ステップＳ４０４では、その関数テーブルの次の関数の先頭アドレスを参照し、ステップＳ４０２に戻って、その先頭アドレスを呼び出す。全ての関数の先頭アドレスを呼び出すまでステップＳ４０２〜Ｓ４０４の処理を繰り返し実行する。なお、本実施例では、それぞれの関数テーブルには１０個の関数の先頭アドレスが登録されている。
【０１３１】
このように、本実施例においては、１回の関数テーブルの参照で、関数テーブルに登録されている複数の関数の先頭アドレスを呼び出す構成をとっている。このように、遊技に関する複数の処理を行う制御手段と、を備えた遊技台において、この制御手段は、前記処理を行う複数の関数の各々の先頭アドレスを保存するアドレステーブルと、このアドレステーブルに保存されている先頭アドレスに対する各々の関数を１回の関数テーブルの参照で連続して実行する処理実行手段とを備えたものとしても好ましい。
【０１３２】
次に図１８を用いてフレームワークとアプリケーションソフトの構造について説明する。同図は第１実施形態にかかるフレームワーク側とアプリケーション側のソフトウェア構造を表す概略イメージ図である。
【０１３３】
まず、上述した副制御部メイン処理におけるステップＳ１０１の関数エントリ処理により、処理ごとに複数の関数テーブルが生成され、その関数テーブルに必要な関数の先頭アドレスが登録される。本実施例では、可動物に関する処理、ランプに関する処理、音に関する処理、演出に関する処理、表示装置に関する処理、入出力インタフェースに関する処理の６つの処理毎に必要な関数テーブルが生成される。また、可動物に関する処理の関数テーブルには、機能ごとに分けられた初期設定関数テーブル、コマンド受信関数テーブル、演出制御関数テーブル等があり、それぞれの関数テーブルに１０個の関数の先頭アドレスが登録される。
【０１３４】
次に、上述した副制御部メイン処理におけるステップＳ１０３で説明したように、フレームワーク側で設定した引数に対応する関数テーブルがアプリケーション側から呼び出され、その関数テーブルに登録されている関数の先頭アドレスが全て実行される。本実施例では、まず初期設定関数テーブルに登録されている関数の先頭アドレス（１０個）が全て実行された後、次のコマンド受信関数テーブルに登録されている関数の先頭アドレス（１０個）が全て実行される。さらに次に設定された引数に対応する関数テーブルについても登録されている関数の先頭アドレスの呼び出し、実行が同様に行われる。以下、副制御部のメイン処理は、遊技台の供給電源が遮断されるまで、上述の関数テーブルの呼出処理を繰り返し実行する。また、なんらかの割り込み処理を受信した場合には、対応する割り込み関数テーブルを呼び出して実行する。例えば、副制御部３５０のＣＰＵ３５４は、演出ボタン１４６が押下された場合、割り込みコマンドを受信し、後述する演出ボタン割り込み処理を開始する。
【０１３５】
次に図１９を用いて、その他の割り込み処理について説明する。同図（ａ）は、描画完了割り込み処理のフローチャートであり、同図（ｂ）は、データ転送完了割り込み処理のフローチャートであり、同図（ｃ）は、描画イベント割込み処理のフローチャートであり、同図（ｄ）は、主制御ストローブ割込み処理のフローチャートであり、同図（ｅ）は、演出ボタン割り込み処理のフローチャートであり、同図（ｆ）は、０．３ｍｓタイマ割り込み処理のフローチャートであり、同図（ｇ）は、１ｍｓタイマ割り込み処理のフローチャートであり、同図（ｈ）は、入出力インタフェースエラー割込み処理のフローチャートであり、同図（ｉ）は、入出力インタフェース受信割込み処理のフローチャートであり、同図（ｊ）は、入出力インタフェース送信割込み処理のフローチャートである。この各割り込み処理は、副制御部３００のＣＰＵ３５４がそれぞれの条件で発生する割り込み処理のコマンドを受信した場合に実行される処理である。
【０１３６】
図１９（ａ）に示す描画完了割り込み処理は、液晶制御回路３７８に接続された図示しないＶＤＰ（Ｖｉｄｅｏ−Ｄｉｓｐｌａｙ−Ｐｒｏｃｅｓｓｏｒ）が描画をＶＲＡＭ（Ｖｉｄｅｏ−ＲＡＭ）に出力した場合に割り込まれる処理で、図１４で説明したステップＳ１０６の更新タイミングを決定する要因となる割込みである。具体的には描画完了割り込みが２回発生すると更新タイミングをＨにする。この描画完了割り込み処理は、引数に描画完了関数テーブルを設定した場合に、描画完了関数テーブルを参照し、登録されている関数の先頭アドレスを全て呼び出して実行する。
【０１３７】
同図（ｂ）に示すデータ転送完了割込み処理は、図示しないＶＤＰのＶＲＡＭに対する画像データの転送が終了した際に行われる割り込み処理である。ＶＤＰは画像データを生成し、その画像データは図示しないＶＲＡＭに転送される。そのＶＲＡＭに保存された画像データに基づいて液晶表示装置に画像が表示される。副制御部のＣＰＵ３５４は、図示しないＶＤＰがＶＲＡＭに画像を転送している間は、その処理が完了するまで待っている。このデータ転送完了割り込み処理は、引数にデータ転送完了関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１３８】
同図（ｃ）に示す描画イベント割込み処理は、転送、描画エラーなどにより画像データの転送を中止する場合に、ＣＰＵ３５４に対しＶＤＰから出力される割り込み信号である。この描画イベント割込み処理は、引数に描画イベント関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１３９】
同図（ｄ）に示す主制御ストローブ割込み処理は、主制御部３００から送信された情報（ストローブ信号）を受信した場合に割り込まれる処理で、主制御部３００からの情報をコマンドとしてコマンド記憶部（図示省略）に記憶する処理である。この主制御ストローブ割込み処理は、引数に主制御ストローブ関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４０】
同図（ｅ）に示す演出ボタン割り込み処理は、演出ボタン１４６が押下された場合に割り込まれる処理で、この割込みのタイミングで演出ボタン１４６押下時の演出を設定する。この演出ボタン割り込み処理は、引数に演出ボタン関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４１】
同図（ｆ）に示す０．３ｍｓタイマ割り込み処理は、０．３ｍｓ毎に表示装置１１０制御用の割込みをする処理である。この０．３ｍｓタイマ割り込み処理は、引数に０．３ｍｓタイマ関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４２】
同図（ｇ）に示す１ｍｓタイマ割り込み処理は、１ｍｓ毎に割り込みをする処理である。この１ｍｓタイマ割り込み処理は、引数に１ｍｓタイマ関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４３】
同図（ｈ）に示す入出力インタフェースエラー割込み処理は、入出力インタフェースで入出力されるデータにノイズが乗った等でエラーと判断された場合に行われる処理で、そのエラー判断されたデータを破棄する処理を行う。この入出力インタフェースエラー割込み処理は、引数に入出力インタフェースエラー関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４４】
同図（ｉ）に示す入出力インタフェース受信割込み処理は、入出力インタフェースにデータが入力された場合に発生する割込み処理である。この入出力インタフェース受信割込み処理は、引数に入出力インタフェース受信関数テーブルを設定し、この関数テーブルを参照して登録されている全ての関数の先頭アドレスを呼び出して実行する。
【０１４５】
同図（ｊ）に示す入出力インタフェース送信割込み処理は、入出力インタフェースからデータが出力された場合に発生する割込み処理である。この入出力インタフェース送信割込み処理は、引数に入出力インタフェース送信関数テーブルを設定し、この関数テーブルを参照して登録あれている全ての関数の先頭アドレスを呼び出して実行する。
【０１４６】
なお、上記の各割り込み処理は１例であり、例えば遊技台の処理、演出を追加、削除した場合、適宜必要な割り込みが追加、削除されることは言うまでもない。
【０１４７】
したがって、アプリケーション側で処理を追加した場合でもフレームワークのプログラムを修正しなくていいので、フレームワークの開発を効率よく行うことができる。
【０１４８】
また、新たな演出装置（例えば、可動物２など）を追加した場合、フレームワーク側は関数エントリ処理にこの新たに追加した可動物２に関する関数エントリ処理の呼び出し処理だけを追加すればよく、大きなプログラムの設計変更をしなくて済むので開発工程の効率化と削減をできるという効果がある。
【０１４９】
次に図２０を用いて第２実施形態にかかるアプリケーションソフトの構造につて説明する。同図は第２実施形態にかかる可動物に関する処理の概略イメージ図である。第２実施形態は、所定の処理に１ｍｓのタイマ関数テーブルを設けて、その処理の実行タイミングをカウントできるところに特徴がある。本実施例は関数エントリ処理Ｓ１０１で、関数テーブルに１ｍｓタイマ関数テーブルを生成している。１ｍｓタイマ関数テーブルは、タイマによるカウント処理が必要な処理、例えば可動物可動位置判定処理や、可動物可動停止処理等にタイマ属性を付加している。同図に示すように、例えば、可動物可動位置判定処理に１ｍｓタイマ関数テーブル（２）、可動物可動停止処理に１ｍｓタイマ関数テーブル（１）と記載されている。この可動物可動位置判定処理の１ｍｓタイマ関数テーブル（２）とは、１ｍｓタイマ関数テーブルが２回呼び出されたら（２ｍｓ毎に）可動物可動位置判定処理を１回呼び出して実行することを意味する。可動物可動停止処理の１ｍｓタイマ関数テーブル（１）とは、１ｍｓタイマ関数テーブルが１回呼び出されたら（１ｍｓ毎に）、可動物可動停止処理を１回呼び出して実行することを意味する。
【０１５０】
図２１は、第２実施形態にかかる副制御部メイン処理の関数呼出処理のフローチャートである。第２実施形態の処理の流れについて同図を用いて詳細に説明する。
【０１５１】
まず、ステップＳ５０１では、ステップＳ１０２で引数により参照された関数テーブルが１ｍｓタイマ関数テーブルか否かを判定する。引数が１ｍｓタイマ関数テーブルである場合、ステップＳ５０２に進んで、引数で設定された関数テーブルを参照する。一方、引数により参照された関数テーブルが１ｍｓタイマ関数テーブルでない場合は、ステップＳ５０７へ進んで、その１ｍｓタイマ関数テーブルでない引数で設定された他の関数テーブルを参照する。
【０１５２】
ステップＳ５０２では、引数に設定された関数テーブル（例えば、可動物可動位置判定処理を実行する関数テーブル）を参照し、ステップＳ５０３に進む。
【０１５３】
ステップＳ５０３では、関数呼出タイミングか否かを判定する。例えば、可動物可動位置判定処理を実行する関数テーブルに登録されている関数の先頭アドレスを呼び出す場合、１ｍｓタイマ関数テーブルが呼び出された回数が２回目の場合、ステップＳ５０４に進み、その可動物可動位置判定処理を実行する関数テーブルに登録されている関数の先頭アドレスを呼び出す。１ｍｓタイマ関数テーブルが呼び出された回数が１回目の場合、その可動物可動位置処理の関数テーブルに登録されている関数の先頭アドレスは呼び出さずに、ステップＳ５０５に進み、登録されている全ての関数の先頭アドレスを呼び出したか否かを判定する。また、可動物可動停止処理の場合、１ｍｓタイマ関数テーブルを１回呼び出す毎に実行されるので、引数で参照されるたびに、その処理の関数テーブルに登録されている関数の先頭アドレスが呼び出されることになる。
【０１５４】
ステップＳ５０４では、その関数テーブルの関数の先頭アドレスが呼び出される。
【０１５５】
ステップＳ５０５では、その関数テーブルに登録されている全ての関数の先頭アドレスに対して呼び出すか否かを判定したかを判断する。全ての関数の先頭アドレスに対して呼び出すか否かを判断した場合は、その関数呼出処理を終了し、まだ呼び出すか否かを判断していない関数の先頭アドレスがある場合、ステップＳ５０６へ進む。
【０１５６】
ステップＳ５０６では、次の関数の先頭アドレスを参照し、ステップＳ５０３へ進み、その関数の関数呼出タイミングか否かを判定する。
【０１５７】
ステップＳ５０７では、１ｍｓタイマ関数テーブルを参照しない引数に設定された関数テーブル（例えば、コマンド受信関数テーブル）を参照し、ステップＳ５０８に進む。
【０１５８】
ステップＳ５０８では、その関数テーブルに登録されている関数の先頭アドレスを呼び出して実行し、ステップＳ５０９に進む。
【０１５９】
ステップＳ５０９では、全ての関数の先頭アドレスを呼び出したか否か判定し、全ての関数の先頭アドレスを呼び出した場合、その関数呼出処理を終了する。
【０１６０】
まだ呼び出していない関数がある場合、ステップＳ５１０に進み、次の関数の先頭アドレスを参照する。その関数テーブルに登録されている全ての関数の先頭アドレスを呼び出すまで繰り返す。
【０１６１】
なお、本実施例では、１ｍｓタイマ関数テーブルを生成したが、これは１ｍｓに限らないことは言うまでもない。
【０１６２】
このように１ｍｓタイマ関数テーブルを生成して、呼び出す関数にタイマ属性を付加することで、別途タイマ割り込み処理（例えば２ｍｓ等）の登録項目を作成しなくて済み、副制御部３００のＣＰＵ３５４の処理負担の軽減とＲＯＭ３５６、ＲＡＭ３５８等のメモリ容量が削減できるという効果がある。
【０１６３】
次に図２２を用いて第３実施形態にかかるアプリケーションソフトの構造について説明する。同図は第３実施形態にかかる表示装置に関する処理の概略イメージ図である。第３実施形態は、所定の処理の処理開始条件としてトリガ関数テーブルを設け、このトリガ関数テーブルに登録されている条件を満たした場合に所定の処理が開始されるところに特徴がある。
【０１６４】
本実施例では、表示装置初期化処理、演出ボタン表示設定処理にトリガ関数テーブルを設定している。トリガ関数テーブルは、所定の処理の終了とタイマ数を処理開始条件としており、所定の処理終了、所定のタイマ数を経過した後、当該処理を実施するように設定できる。例えば、同図では、表示装置初期化処理にトリガ関数テーブル（初期設定処理、３２ｍｓ）が設定されており、表示装置初期化処理は、初期設定処理が終了してから３２ｍｓ後に実行される。また、演出ボタン表示設定処理にトリガ関数テーブル（演出ボタン割り込み処理、１００ｍｓ）が設定されており、演出ボタン表示設定処理は、演出ボタン１４６が押下された後、演出ボタン割り込み処理を受信してから１００ｍｓ後に実行される。このトリガ関数テーブルは、タイマをカウントするために１ｍｓタイマ割り込み処理の中で呼び出されるようにされている。
【０１６５】
図２３は、第３実施形態にかかる１ｍｓタイマ割り込み処理のフローチャートである。１ｍｓタイマ割り込み処理は、副制御部メイン処理の中で割込みにより実行される処理である。
【０１６６】
ステップＳ６０１では、引数として１ｍｓタイマ関数テーブルを設定し、ステップＳ６０２に進む。
【０１６７】
ステップＳ６０２では、１ｍｓタイマ関数テーブルを呼び出し、その１ｍｓタイマ関数テーブルに登録されている関数の先頭アドレスを呼び出して実行する。
【０１６８】
ステップＳ６０３では、引数としてトリガ関数テーブルを設定し、ステップＳ６０４に進む。
【０１６９】
ステップＳ６０４では、トリガ関数テーブルを呼び出して実行し、１ｍｓタイマ割り込み処理を終了させる。
【０１７０】
図２４は、第３実施形態にかかる関数呼出処理のフローチャートである。
【０１７１】
ステップＳ７０１では、上述した副制御部メイン処理におけるステップＳ１０２で設定された引数により参照された関数テーブルがトリガ関数テーブルか否かを判定する。参照関数テーブルがトリガ関数テーブルである場合、ステップＳ７０２に進み、参照関数テーブルがトリガ関数テーブルでない場合、ステップＳ７０９に進む。
【０１７２】
ステップＳ７０２では、引数に設定された関数テーブル（ここでは、トリガ関数テーブル）を参照し、ステップＳ７０３に進む。
【０１７３】
ステップＳ７０３では、関数呼出条件（本実施例では所定の処理の終了）が終了しているか否かを判断する。例えば、本実施例では、初期設定処理が終了しているか否かを判断し、初期設定処理が終了している場合、ステップＳ７０４に進み、初期設定処理が終了していない場合はステップＳ７０７に進む。
【０１７４】
ステップＳ７０４では、関数呼出条件であるタイマが経過しているか否かを判断する。例えば、本実施例では、タイマ数が３２ｍｓを経過しているか否かを判断する。経過している場合、ステップＳ７０５に進み、経過していない場合、ステップＳ７０７に進む。
【０１７５】
ステップＳ７０５では、表示装置初期化処理の関数テーブルに登録されている関数の先頭アドレスを呼び出して実行し、ステップＳ７０６に進む。
【０１７６】
ステップＳ７０６では、表示装置初期化処理の関数テーブルに登録されている全ての関数の先頭アドレスに対して呼び出すか否かを判定したか判断する。全ての関数の先頭アドレスに対して呼び出すか否かを判断した場合は、その関数呼出処理を終了し、まだ呼び出すか否かを判断していない関数の先頭アドレスがある場合、ステップＳ７０８に進む。
【０１７７】
ステップＳ７０８では、表示装置初期化処理の関数テーブルに登録されている次の関数の先頭アドレスを参照して、ステップＳ７０３に進んで、全ての関数の先頭アドレスを呼び出すまで、ステップＳ７０３〜Ｓ７０８の関数呼出処理を繰り返す。
【０１７８】
ステップＳ７０９では、トリガ関数テーブルを参照しない引数に設定された関数テーブル（例えば、表示装置表示設定処理のコマンド受信関数テーブル）を参照し、ステップＳ７１０に進む。
【０１７９】
ステップＳ７１０では、その関数テーブルに登録された関数の先頭アドレスを呼び出して実行し、ステップＳ７１１に進む。
【０１８０】
ステップＳ７１１では、その関数テーブルに登録されている全ての関数の先頭アドレスを呼び出したか否かを判定する。全ての関数の先頭アドレスを呼び出している場合、関数呼出処理を終了し、呼び出していない関数の先頭アドレスがある場合、ステップＳ７１２に進み、その関数テーブルの次の関数の先頭アドレスを参照してステップＳ７１０に進む。
【０１８１】
その関数テーブルに登録されている全ての関数の先頭アドレスを呼び出すまでステップＳ７１０〜Ｓ７１２の関数呼出処理を繰り返す。
【０１８２】
したがって、所定の処理の実行終了とタイマ数を後処理の処理開始トリガとして用いているため、関数テーブルに別途ウェイト処理の関数を設けたり、タイマ関数を設けるよりも使用するメモリ容量を削減することができるという効果がある。
【０１８３】
なお、本実施例では関数呼出条件を所定の処理の終了としたが、これに限定されるものではない。例えば、所定の処理の開始を関数呼出条件とする等、いずれの処理を条件として設定してもよい。
【０１８４】
次に図２５を用いて第４実施形態にかかるアプリケーションソフトの構造につて説明する。同図は第４実施形態にかかる表示装置に関する処理の概略イメージ図である。第４実施形態は、トリガ関数テーブルへの関数の登録（関数エントリ処理）が、所定の割り込み処理を受信した場合に行われるところに特徴がある。従って、同図に示すように所定の割込み処理を受信する前は、トリガ関数テーブルには関数が登録（エントリ）されていない。
【０１８５】
次に図２６は、第４実施形態における演出ボタン割り込み処理のフローチャートである。同図を用いてトリガ関数テーブルへの関数の登録について説明する。
【０１８６】
ステップＳ８０１では、引数として演出ボタン関数テーブルを設定し、ステップＳ８０２に進む。
【０１８７】
ステップＳ８０２では、演出ボタン関数テーブルに登録されている関数の先頭アドレスを実行し、ステップＳ８０３に進む。
【０１８８】
ステップＳ８０３では、演出ボタン表示設定処理を実行する関数の先頭アドレスをトリガ関数テーブルに登録し、演出ボタン割り込み処理を終了する。
【０１８９】
上述の処理によりトリガ関数テーブルに演出ボタン表示設定処理を実行する関数の先頭アドレスを登録することができる。
【０１９０】
図２７は、第４実施形態にかかる関数呼出処理のフローチャートである。
【０１９１】
ステップＳ９０１では、ステップＳ１０２の引数により参照された関数テーブルがトリガ関数テーブルか否かを判定する。参照された関数テーブルがトリガ関数テーブルである場合、ステップＳ９０２に進み、参照された関数テーブルがトリガ関数テーブルでない場合、ステップＳ９０８に進む。
【０１９２】
ステップＳ９０２では、引数に設定された関数テーブル（例えば、トリガ関数テーブル）を参照し、ステップＳ９０３に進む。
【０１９３】
ステップＳ９０３では、関数呼出条件であるタイマ数が経過しているか否か判定する。タイマ数が経過している場合、ステップＳ９０４に進み、タイマ数が経過していない場合、ステップＳ９０６に進む。
【０１９４】
ステップＳ９０４では、その関数テーブルに登録されている関数の先頭アドレスを呼び出して実行する。
【０１９５】
ステップＳ９０５では、呼び出した関数の先頭アドレスを消去する。
【０１９６】
ステップＳ９０６では、関数テーブルに登録されている全ての関数の先頭アドレスに対して呼び出すか否かを判定したかを判断する。全ての関数の先頭アドレスに対して呼び出すか否かを判断した場合は、その関数呼出処理を終了し、まだ呼び出すか否かを判断していない関数の先頭アドレスがある場合、ステップＳ９０７に進み、次の関数の先頭アドレスを参照しステップＳ９０３に進む。全ての関数の先頭アドレスを呼び出すまでステップＳ９０３〜Ｓ９０７を繰り返し実行する。
【０１９７】
以上説明したように、本実施形態に係るパチンコ機１００は、遊技に関する複数の処理を行う制御手段、を備えた遊技台において、前記制御手段は、前記処理を行う複数の関数の各々の先頭アドレスを保存するアドレステーブルと、前記アドレステーブルに保存されている前記各々の先頭アドレスに対する各々の処理を連続して実行する処理実行手段と、を備えたことを特徴とする遊技台である。
【０１９８】
また、前記制御手段は、先頭アドレスを前記アドレステーブルに保存する登録手段を含むものとしてもよい。
【０１９９】
また、前記登録手段は、所定の規定値に基づいて前記先頭アドレスを前記アドレステーブルに登録するかしないかを判断するものとしてもよい。
【０２００】
また、前記制御手段は、前記遊技の進行毎に区分された複数の前記アドレステーブルを備えたものとしてもよい。
【０２０１】
また、前記処理実行手段は、複数の前記アドレステーブルに共通の処理であるものとしてもよい。
【０２０２】
また、遊技に関する複数の処理を行う制御手段と、前記複数の処理を行う関数の先頭アドレスを保存するアドレステーブルと、前記アドレステーブルに保存されている前記先頭アドレスに対する各々の処理を実行する処理実行手段と、前記先頭アドレスを前記アドレステーブルに保存する登録手段と、を備えたものとしてもよい。
【０２０３】
また、前記処理実行手段は、前記アドレステーブルに保存されている前記先頭アドレスに対する各々の処理を連続して実行するものとしてもよい。
【０２０４】
また、前記アドレステーブルは、さらに前記複数の処理の実行条件が保存可能であり、前記登録手段は、前記先頭アドレスに加えて、前記実行条件を前記アドレステーブルに保存するものとしてもよい。
【０２０５】
また、前記実行条件は、少なくとも前記複数の処理の実行回数、前記複数の処理のうちの所定の処理の実行終了のいずれかを含むものとしてもよい。
【０２０６】
また、前記登録手段は、前記遊技台の電源投入に基づいて、前記処理実行手段が実行される前に実行されるものとしてもよい。
【０２０７】
また、所定の入賞口を有する遊技盤をさらに備え、前記所定の入賞口に遊技球が入球することにより、所定の特典を与えるものとしてもよい。
【０２０８】
また、複数種類の図柄が施された複数のリールと、前記複数のリールの回転を開始させるスタートスイッチと、前記複数のリールのそれぞれに対応して設けられ、前記リールの回転を個別に停止させるストップスイッチと、予め定められた複数種類の入賞役の内部当選の当否を抽選により判定する抽選手段と、停止された前記複数のリールによって表示される図柄の組合せが、前記抽選手段により内部当選した入賞役に対応する図柄の組合せであるか否かにより前記入賞役の入賞の当否を判定する判定手段と、を備えたものとしてもよい。
【０２０９】
なお、本発明に係る遊技台は、パチンコ遊技機に限定されるものではなく、例えば、遊技球（例えば、パチンコ玉）を遊技媒体としたスロットマシン（いわゆるパチロット）等にも適用可能である。さらに、このスロットマシンはメダルを遊技媒体としていてもよい。上記スロットマシンは、「複数種類の図柄が施された複数のリールと、複数のリールの回転を開始させるスタートスイッチと、複数のリールのそれぞれに対応して設けられ、複数のリールの回転を個別に停止させるストップスイッチと、予め定められた複数種類の入賞役の内部当選の当否を抽選により判定する抽選手段と、この抽選手段の判定結果とストップスイッチの操作に基づいて、リールを停止させるリール停止制御手段と、停止時の複数のリールにより表示された図柄の組合せが抽選手段により内部当選した入賞役の図柄組合せであるか否かによって、当該入賞役への入賞を判定する判定手段と、を備えるスロットマシン」である。但し、上記実施例に示されるようなスロットマシンの構造等に限定されるものではない。
【０２１０】
なお、本実施例では、遊技ごとに区分された処理ごとに関数テーブルを生成したが、これに限定されず、例えば、遊技で使用する演出種類（戦闘演出、恋愛演出、修行演出など）ごとに区分して関数テーブルを生成しても好ましい。
【０２１１】
なお、本実施例では、全て実行する関数テーブルをプログラム開始時に生成したが、これに限定されず、アプリケーション製作担当者が関数テーブルのファイルを共有してアプリケーションを開発することで関数テーブルを作成してもよい。この場合、関数の登録処理は行われないが、この構成でも処理を追加するなどの変更を加えた場合でも、フレームワークに変更を生じることがないため、開発工程を削減できるという効果がある。
【０２１２】
したがって、遊技に関する複数の処理を行う制御手段と、を備えた遊技台において、前記制御手段は、前記処理を行う複数の関数の各々の先頭アドレスを保存するアドレステーブルと、前記アドレステーブルに保存されている前記各々の先頭アドレスに対する各々の処理を連続して実行する処理実行手段と、を備えているので、フレームワークに変更を生じさせないため開発工程を削減することができるという効果がある。
【０２１３】
また、制御手段は、複数の関数の各々の先頭アドレスをアドレステーブルに保存する登録手段を含んでいるので、先頭アドレスをその都度生成、登録することで、アドレステーブルを変更しなくて済み、各開発者が個別に処理を設計できるという効果がある。
【０２１４】
また、登録手段は、所定の規定値に基づいて先頭アドレスをアドレステーブルに登録するかしないかを判断し、この規定値を設けたことで各開発者が自由に設計した場合でも簡単に処理負荷に対するデバックを行うことができるという効果がある。
【０２１５】
また、制御手段は、遊技の進行毎に区分された複数のアドレステーブルを備えているので、各状況に応じた処理設計を行うことができるという効果がある。
【０２１６】
また、処理実行手段は、複数のアドレステーブルに共通の処理としているので、プログラムのメモリ容量を削減できるという効果がある。
【０２１７】
また、遊技に関する複数の処理を行う制御手段と、複数の関数の先頭アドレスを保存するアドレステーブルと、前記アドレステーブルに保存されている先頭アドレスに対する各々の処理を実行する処理実行手段と、先頭アドレスをアドレステーブルに保存する登録手段と、を備えているので、新たな演出装置（例えば、可動物２など）を追加した場合でも、フレームワーク側はこの関数エントリ処理に可動物２に関する関数エントリ処理の呼び出し処理を追加すればよいだけなので、開発工程の削減につながるという効果がある。
【０２１８】
また、処理実行手段は、アドレステーブルに保存されている先頭アドレスに対する各々の処理を連続して実行するので、１回の関数テーブルの参照で、その関数テーブルに登録されている複数の関数を連続して全て呼び出せるという効果がある。
【０２１９】
また、アドレステーブルは、さらに複数の処理の実行条件が保存可能であり、登録手段は、先頭アドレスに加えて、実行条件をアドレステーブルに保存することができるので、実行条件を設定したことで、アドレステーブルを増やさなくても済み、プログラムのメモリ容量を削減することができるという効果がある。
【０２２０】
また、実行条件は、少なくとも複数の処理の実行回数、複数の処理のうちの所定の処理の実行終了のいずれかを含んでいるので、特定の処理が２回行われた場合に行いたい処理などを設定できるという効果がある。
【０２２１】
また、登録手段は、遊技台の電源投入に基づいて、処理実行手段が実行される前に実行されるようにしているので、その後の全ての処理に対してアドレステーブルを使用した処理を行うことができるという効果がある。
【産業上の利用可能性】
【０２２２】
本発明に係る遊技台は、パチンコ機やスロットマシンなどに代表される遊技台に適用することができる。
【符号の説明】
【０２２３】
１００  パチンコ機
１４６  演出ボタン
３００  主制御部
３５０  副制御部
４００  払出制御部
４５０  発射制御部
５００  電源管理部
【図３】
0005644023.tif 000002
【図１２】
0005644023.tif 000003
【図１４】
0005644023.tif 000004
【図１５】
0005644023.tif 000005
【図１６】
0005644023.tif 000006
【図１７】
0005644023.tif 000007
【図１９】
0005644023.tif 000008
【図２０】
0005644023.tif 000009
【図２１】
0005644023.tif 000010
【図２２】
0005644023.tif 000011
【図２３】
0005644023.tif 000012
【図２４】
0005644023.tif 000013
【図２５】
0005644023.tif 000014
【図２６】
0005644023.tif 000015
【図２７】
0005644023.tif 000016
【図１】
0005644023.tif 000017
【図２】
0005644023.tif 000018
【図４】
0005644023.tif 000019
【図５】
0005644023.tif 000020
【図６】
0005644023.tif 000021
【図７】
0005644023.tif 000022
【図８】
0005644023.tif 000023
【図９】
0005644023.tif 000024
【図１０】
0005644023.tif 000025
【図１１】
0005644023.tif 000026
【図１３】
0005644023.tif 000027
【図１８】
0005644023.tif 000028