(57)【特許請求の範囲】
【請求項１】
遊技者が遊技媒体を用いて所定の遊技を行うことが可能な遊技機であって、
遊技に用いられる遊技装置と、
プログラムに従って前記遊技装置の制御を行うＣＰＵと、
遊技進行に伴って変化するデータが格納され、遊技機への電力供給が停止しても所定時間は内容を保持可能なバックアップ領域を有するＲＡＭと、
少なくとも遊技プログラムモジュールを記憶するＲＯＭと、
遊技媒体を検出して検出信号を出力する遊技媒体検出手段と、
操作に応じて操作信号を出力する初期化操作手段とを備え、
前記遊技プログラムモジュールを実行する前記ＣＰＵによって制御される遊技機において、
前記遊技プログラムモジュールは、それぞれ階層関係にないメインモジュールと、定期的に実行可能なタイマ割込処理モジュールと、遊技機への電力供給が停止する場合に実行される電力供給停止時処理モジュールとを含み、
前記タイマ割込処理モジュールは、前記遊技媒体検出手段によって出力された前記検出信号の入力状態を監視して、前記検出信号の入力状態を示す入力情報を記憶する入力情報記憶処理を含み、
前記メインモジュールは、前記入力情報記憶処理によって記憶された前記検出信号の前記入力情報にもとづいて前記遊技装置の制御を行うための遊技装置制御処理と、制御状態を初期化するための初期化処理と、電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理とを含み、
前記電力供給停止時処理モジュールは、遊技機への電力供給が再開した場合に制御状態を電力供給が停止する前の制御状態に復旧させるために必要なデータを前記バックアップ領域に保存させるためのデータ保存処理を含み、
前記メインモジュールは、電力供給が開始されたときに前記初期化操作手段からの前記操作信号が入力されていると判定した場合には前記初期化処理を実行するように構成され、前記初期化操作手段からの前記操作信号が入力されているか否かを判定するときに、前記遊技装置制御処理において前記入力情報にもとづいて前記検出信号が有効と判定される遊技媒体検出判定期間よりも短い要求検出判定期間で判定する
ことを特徴とする遊技機。
【請求項２】
メインモジュールは、タイマ割込処理モジュールの実行を禁止する区間を備えている
請求項１記載の遊技機。
【請求項３】
メインモジュールは、下層に、入力情報設定処理を実行するための入力情報設定処理モジュールと、遊技装置を制御する制御モジュールと、制御状態を初期化するための初期化処理をＣＰＵに実行させるための初期化処理モジュールおよび電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理をＣＰＵに実行させるための復旧処理モジュールとを備えている
請求項１または請求項２記載の遊技機。
【請求項４】
タイマ割込処理モジュールは、下層に、入力情報記憶処理を実行するための入力情報記憶処理モジュールを備えている
請求項１から請求項３のうちのいずれかに記載の遊技機。
【請求項５】
タイマ割込処理モジュールは、下層に、遊技装置の制御のために用いられる数値データを更新する数値データ更新処理を実行するための数値データ更新処理モジュールを備えている
請求項１から請求項４のうちのいずれかに記載の遊技機。
【請求項６】
数値データは、遊技制御における動作時間を管理するための動作タイマを含む
請求項５記載の遊技機。
【請求項７】
メインモジュールとタイマ割込処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行う
請求項１から請求項６のうちのいずれかに記載の遊技機。
【請求項８】
メインモジュールと電力供給停止時処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行う
請求項１から請求項７のうちのいずれかに記載の遊技機。
【請求項９】
タイマ割込処理モジュールと電力供給停止時処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行う
請求項１から請求項８のうちのいずれかに記載の遊技機。
【請求項１０】
データ退避処理は、少なくとも実行されていた遊技プログラムモジュールのアドレスに関連するプログラムアドレスデータをバックアップ領域に保存させるための処理を含む
請求項１から請求項９のうちのいずれかに記載の遊技機。
【請求項１１】
復旧処理は、プログラムアドレスデータにもとづいて遊技プログラムモジュールの実行を再開させる処理を含む
請求項１０記載の遊技機。
【請求項１２】
データ退避処理は、少なくとも該データ退避処理を実行したことを示す実行確認情報をバックアップ領域に保存させるための処理を含む
請求項１から請求項１１のうちのいずれかに記載の遊技機。
【請求項１３】
復旧処理は、実行確認情報をクリアさせる処理を含む
請求項１２記載の遊技機。
【請求項１４】
初期化処理は、実行確認情報が保存されていない場合に実行される
請求項１２または請求項１３記載の遊技機。
【請求項１５】
電力供給停止時処理モジュールは、所定電位の電源の出力電圧を監視し検出条件が成立した場合に検出信号を出力する電源監視手段の出力に応じて実行される
請求項１から請求項１４のうちのいずれかに記載の遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遊技者が所定の遊技を行い、所定条件の成立に応じて遊技者に所定の遊技価値を付与可能なパチンコ遊技機やスロットマシン等の遊技機に関する。
【０００２】
【従来の技術】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示装置が設けられ、始動口への遊技球の入賞（始動入賞）などの条件成立にもとづいて可変表示装置において可変表示がなされ、可変表示装置の表示結果があらかじめ定められた特定表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【０００３】
なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、賞球払出の条件が成立しやすくなる状態になることである。
【０００４】
パチンコ遊技機では、識別情報を可変表示する可変表示装置の表示結果があらかじめ定められた特定表示態様の組合せとなることを、通常、「大当り」という。識別情報は例えば図柄であり、以下、識別情報として図柄（特別図柄ともいう。）を例にして説明を進める。また、可変表示とは可変表示装置における表示状態が変化することであり、以下、変動ともいう。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個（例えば１０個）の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数（例えば１６ラウンド）に固定されている。なお、各開放について開放時間（例えば２９．５秒）が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件（例えば、大入賞口内に設けられているＶゾーンへの入賞）が成立していない場合には、大当り遊技状態は終了する。
【０００５】
また、可変表示装置において最後に停止表示される最終停止図柄（例えば左右中図柄のうち中図柄）となる図柄以外の図柄が、所定時間継続して、特定表示態様と一致している状態で停止、揺動、拡大縮小もしくは変形している状態、または、複数の図柄が同一図柄で同期して変動したり、表示図柄の位置が入れ替わっていたりして、最終結果が表示される前で大当り発生の可能性が継続している状態（以下、これらの状態をリーチ状態という。）において行われる演出をリーチ演出という。また、リーチ演出を含む可変表示をリーチ可変表示という。リーチ状態において、変動パターンを通常状態における変動パターンとは異なるパターンにすることによって、遊技の興趣が高められている。そして、可変表示装置に可変表示される図柄の表示結果がリーチ状態となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【０００６】
【発明が解決しようとする課題】
通常、遊技機に搭載可能なプログラム格納領域（ＲＯＭ）の容量には制限があるので、各遊技制御を実現するためのプログラム量を少なくすることができれば、全体としてより複雑な演出の遊技を実現することができる。しかし、一般にプログラム容量を圧縮しようとすると、プログラム内容が複雑化する傾向がある。より短いステップ数で各機能を実現しようとするからである。プログラム内容が複雑化すると、ある機種のプログラムを他機種に流用することが難しくなってくる。
【０００７】
遊技機開発の期間は短いことが好ましいが、プログラムの流用を容易にすることができれば、結果として遊技機開発期間を短縮できる。しかしながら、より遊技効果の高い演出を実現しようとすると、上述したような理由からプログラムを他機種に流用することが難しくなる。以上のことから、より複雑な遊技演出を実現できるプログラムを低容量で実現でき、かつ、そのプログラムを他機種へ容易に流用できるように構成することは、遊技機において大きな課題になっている。
【０００８】
プログラムの流用を容易にするために、プログラムをモジュール構造にすることが提案されている。例えば、遊技機が実現する機能に対応したモジュールの集まりで遊技制御プログラムを構成することが提案されている。そのようなプログラム構造では、新機種において機能が変更された場合、変更に関わるモジュールのみを変更すればよく、旧機種の他のモジュールをそのまま流用することができる。しかし、遊技機が実現する機能は多岐にわたり、また、新たな機能を追加しなければならないことも多い。すると、機能別にモジュール化したプログラム構造では、モジュール間のインタフェース（データのやりとり）が複雑化してしまうとともに、新たな機能追加に伴って既存のモジュールも変更しなければならないという状況が発生する。
【０００９】
そこで、本発明は、モジュール間のデータのやりとりを複雑化させずに、プログラムの流用を容易にすることによってプログラム開発期間を短縮化することを可能にした遊技機を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明による遊技機は、遊技者が遊技媒体を用いて所定の遊技を行うことが可能な遊技機であって、遊技に用いられる遊技装置と、プログラムに従って遊技装置の制御を行うＣＰＵと、遊技進行に伴って変化するデータが格納され遊技機への電力供給が停止しても所定時間は内容を保持可能なバックアップ領域を有するＲＡＭ（例えばＲＡＭ５５）と、少なくとも遊技プログラムモジュールを記憶するＲＯＭ（例えばＲＯＭ５４）と、遊技媒体を検出して検出信号を出力する遊技媒体検出手段と、操作に応じて操作信号を出力する初期化操作手段とを備え、遊技プログラムモジュールを実行するＣＰＵによって制御される遊技機であって、遊技プログラムモジュールが、それぞれ階層関係にないメインモジュール（例えばステップＳ１〜Ｓ３３）と、定期的（例えば２ｍｓ毎）に実行可能なタイマ割込処理モジュール（例えばステップＳ１１０〜Ｓ１１７）と、遊技機への電力供給が停止する場合に実行される電力供給停止時処理モジュール（例えばステップＳ４５１〜Ｓ４７７）とを含み、タイマ割込処理モジュールが、遊技媒体号検出手段によって出力された検出信号の入力状態を監視して、検出信号の入力状態を示す入力情報を記憶する入力情報記憶処理（例えばステップＳ１１１）を含み、メインモジュールは、入力情報記憶処理によって記憶された検出信号の入力情報にもとづいて遊技装置の制御を行うための遊技装置制御処理（例えばステップＳ３２の賞球処理）と、制御状態を初期化するための初期化処理（例えばステップＳ１１〜Ｓ１５）と、電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理（例えばステップＳ１０）とを含み、電力供給停止時処理モジュールが、遊技機への電力供給が再開した場合に制御状態を電力供給が停止する前の制御状態に復旧させるために必要なデータをバックアップ領域に保存させるためのデータ保存処理（例えばステップＳ４５１〜Ｓ４５８）を含み、メインモジュールは、電力供給が開始されたときに初期化操作手段からの操作信号が入力されていると判定した場合には初期化処理を実行するように構成され、初期化操作手段からの操作信号が入力されているか否かを判定するときに、遊技装置制御処理において入力情報にもとづいて検出信号が有効と判定される遊技媒体検出判定期間よりも短い要求検出判定期間で判定することを特徴とする。
【００１１】
メインモジュールは、例えば、タイマ割込処理モジュールの実行を禁止する区間を備えている構成である。
【００１２】
メインモジュールは、例えば、下層に、入力情報設定処理を実行するための入力情報設定処理モジュールと、遊技装置を制御する制御モジュール（例えばステップＳ２６〜Ｓ３３）と、制御状態を初期化するための初期化処理をＣＰＵに実行させるための初期化処理モジュールおよび電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理をＣＰＵに実行させるための復旧処理モジュールとを備えている構成である。
【００１３】
タイマ割込処理モジュールは、例えば、下層に、入力情報記憶処理を実行するための入力情報記憶処理モジュールを備えている構成である。
【００１４】
タイマ割込処理モジュールは、例えば、下層に、遊技装置の制御のために用いられる数値データを更新する数値データ更新処理を実行するための数値データ更新処理モジュールを備えている構成である。
【００１５】
数値データは、例えば、遊技制御における動作時間を管理するための動作タイマを含む。
【００１６】
メインモジュールとタイマ割込処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成される。
【００１７】
メインモジュールと電力供給停止時処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成される。
【００１８】
タイマ割込処理モジュールと電力供給停止時処理モジュールとは、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成される。
【００１９】
データ退避処理が、少なくとも実行されていた遊技プログラムモジュールのアドレスに関連するプログラムアドレスデータをバックアップ領域に保存させるための処理を含むように構成されていてもよい。
【００２０】
復旧処理が、プログラムアドレスデータにもとづいて遊技プログラムモジュールの実行を再開させる処理を含むように構成されていてもよい。
【００２１】
データ退避処理が、少なくともデータ退避処理を実行したことを示す実行確認情報（例えばバックアップフラグ）をバックアップ領域に保存させるための処理を含むように構成されていてもよい。
【００２２】
復旧処理は、実行確認情報をクリアさせる処理を含むことが好ましい。
【００２３】
初期化処理は、例えば、実行確認情報が保存されていない場合に実行される。
【００２４】
電力供給停止時処理モジュールは、例えば、所定電位の電源の出力電圧を監視し検出条件が成立した場合に検出信号を出力する電源監視手段（例えば電源監視用ＩＣ９０２）の出力に応じて実行される。
【００２５】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図１はパチンコ遊技機を正面からみた正面図、図２は遊技盤の前面を示す正面図である。
【００２６】
パチンコ遊技機１は、縦長の方形状に形成された外枠（図示せず）と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機１は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠２を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠（図示せず）と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品（後述する遊技盤を除く。）とを含む構造体である。
【００２７】
図１に示すように、パチンコ遊技機１は、額縁状に形成されたガラス扉枠２を有する。ガラス扉枠２の下部表面には打球供給皿（上皿）３がある。打球供給皿３の下部には、打球供給皿３に収容しきれない遊技球を貯留する余剰球受皿４と打球を発射する打球操作ハンドル（操作ノブ）５が設けられている。ガラス扉枠２の背面には、遊技盤６が着脱可能に取り付けられている。なお、遊技盤６は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤６の前面には遊技領域７が形成されている。
【００２８】
遊技領域７の中央付近には、それぞれが識別情報としての図柄を可変表示する可変表示部を含む表示領域１５０を有する可変表示装置９が設けられている。表示領域１５０には、例えば「左」、「中」、「右」の３つの図柄表示エリアがある。また、この実施の形態では、可変表示装置９の表示領域１５０において、普通図柄の可変表示も行われ、特別図柄始動記憶数（以下、単に始動記憶数ともいう。）および普通図柄始動記憶数の表示も行われる。また、可変表示装置９の周囲には、可変表示装置を装飾するための装飾部材（表飾り）が設けられている。
【００２９】
可変表示装置９の下方には、始動入賞口１４が設けられている。始動入賞口１４に入った入賞球は、遊技盤６の背面に導かれ、始動口スイッチ１４ａによって検出される。また、始動入賞口１４の下部には開閉動作を行う可変入賞球装置１５が設けられている。可変入賞球装置１５は、ソレノイド１６によって開状態とされる。
【００３０】
可変入賞球装置１５の下部には、特定遊技状態（大当り状態）においてソレノイド２１によって開状態とされる開閉板２０が設けられている。開閉板２０は大入賞口を開閉する手段である。開閉板２０から遊技盤６の背面に導かれた入賞球のうち一方（Ｖ入賞領域）に入った入賞球はＶ入賞スイッチ２２で検出され、開閉板２０からの入賞球はカウントスイッチ２３で検出される。遊技盤６の背面には、大入賞口内の経路を切り換えるためのソレノイド２１Ａも設けられている。また、可変表示装置９の上部には、始動入賞口１４に入った有効入賞球数すなわち始動記憶数を表示する４個の表示部を有する始動記憶表示器１８が設けられている。この例では、４個を上限として、有効始動入賞がある毎に、始動記憶表示器１８は点灯している表示部を１つずつ増やす。そして、可変表示装置９の可変表示が開始される毎に、点灯している表示部を１つ減らす。
【００３１】
ゲート３２に遊技球が入賞しゲートスイッチ３２ａで検出されると、普通図柄始動記憶が上限に達していなければ、所定の乱数値が抽出される。そして、普通図柄表示器１０において表示状態が変化する可変表示を開始できる状態であれば、普通図柄表示器１０の表示の可変表示が開始される。普通図柄表示器１０の近傍には、ゲート３２に入った入賞球数を表示する４個の表示部を有する普通図柄始動記憶表示器４１が設けられている。この例では、４個を上限として、ゲート３２への球通過がある毎に、普通図柄始動記憶表示器４１は点灯している表示部を１つずつ増やす。そして、普通図柄表示器１０の可変表示が開始される毎に、点灯している表示部を１つ減らす。
【００３２】
この実施の形態では、可変表示装置９の表示領域１５０の一部において普通図柄の可変表示が行われ、可変表示は所定時間（例えば２９秒）継続する。そして、可変表示の終了時に当り図柄が停止表示されると当りとなる。当りとするか否かは、ゲート３２に遊技球が入賞したときに抽出された乱数の値が所定の当り判定値と一致したか否かによって決定される。普通図柄の可変表示の表示結果が当りである場合に、可変入賞球装置１５が所定回数、所定時間だけ開状態になって遊技球が入賞しやすい状態になる。すなわち、可変入賞球装置１５の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態に変化する。
【００３３】
さらに、確変状態では、普通図柄の停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置１５の開放時間と開放回数とのうちの一方または双方が高められ、遊技者にとってさらに有利になる。また、確変状態等の所定の状態では、普通図柄の可変表示期間（変動時間）が短縮されることによって、遊技者にとってさらに有利になるようにしてもよい。
【００３４】
遊技盤６には、複数の入賞口２９，３０，３３，３９が設けられ、遊技球の入賞口２９，３０，３３，３９への入賞は、それぞれ入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａによって検出される。遊技領域７の左右周辺には、遊技中に点滅表示される装飾ランプ２５が設けられ、下部には、入賞しなかった打球を吸収するアウト口２６がある。また、遊技領域７の外側の左右上部には、効果音を発する２つのスピーカ２７が設けられている。遊技領域７の外周には、天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃが設けられている。さらに、遊技領域７における各構造物（大入賞口等）の周囲には装飾ＬＥＤが設置されている。天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃおよび装飾用ＬＥＤは、遊技機に設けられている装飾発光体の一例である。なお、図１に明示されている装飾ランプ２５の他にも、可変表示装置９における周辺部分や開閉板２０の周囲部分等には装飾用のランプやＬＥＤが設置されている。
【００３５】
そして、この例では、左枠ランプ２８ｂの近傍に、賞球残数があるときに点灯する賞球ランプ５１が設けられ、天枠ランプ２８ａの近傍に、補給球が切れたときに点灯する球切れランプ５２が設けられている。さらに、図１には、パチンコ遊技機１に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット５０も示されている。
【００３６】
カードユニット５０には、使用可能状態であるか否かを示す使用可表示ランプ１５１、カードユニット５０がいずれの側のパチンコ遊技機１に対応しているのかを示す連結台方向表示器１５３、カードユニット５０内にカードが投入されていることを示すカード投入表示ランプ１５４、記録媒体としてのカードが挿入されるカード挿入口１５５、およびカード挿入口１５５の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット５０を開放するためのカードユニット錠１５６が設けられている。
【００３７】
打球発射装置から発射された遊技球は、打球レールを通って遊技領域７に入り、その後、遊技領域７を下りてくる。打球が始動入賞口１４に入り始動口スイッチ１４ａで検出されると、特別図柄の可変表示を開始できる状態であれば、可変表示装置９の表示領域１５０において特別図柄が可変表示（変動）を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を１増やす。
【００３８】
特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄（特定表示態様）であると、大当り遊技状態に移行する。すなわち、開閉板２０が、一定時間経過するまで、または、所定個数（例えば１０個）の打球が入賞するまで開放する。そして、開閉板２０の開放中に打球がＶ入賞領域に入賞しＶ入賞スイッチ２２で検出されると、継続権が発生し開閉板２０の開放が再度行われる。継続権の発生は、所定回数（例えば１５ラウンド）許容される。
【００３９】
停止時の特別図柄の組み合わせが確率変動を伴う大当り図柄（確変図柄）の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
【００４０】
なお、以下、遊技制御手段およびその他の制御手段を、それぞれ電気部品制御手段と呼び、電気部品制御手段を搭載した基板を電気部品制御基板と呼ぶことがある。また、電気部品とは、遊技機に設けられている部品（球払出装置９７等の機構部品や、可変入賞球装置等の遊技用部品や、回路等）であって電気的に動作するものである。電気部品のうち遊技制御プログラムにもとづいて制御されるものが遊技装置である。
【００４１】
次に、パチンコ遊技機１の裏面の構造について図３を参照して説明する。図３は、遊技機を裏面から見た背面図である。
【００４２】
図３に示すように、遊技機裏面側では、可変表示装置９を制御する図柄制御基板８０を含む可変表示制御ユニット４９、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板（主基板）３１が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板３７が設置されている。さらに、遊技盤６に設けられている各種装飾ＬＥＤ、装飾ランプ２５、枠側に設けられている天枠ランプ２８ａ、左枠ランプ２８ｂ、右枠ランプ２８ｃ、賞球ランプ５１および球切れランプ５２を点灯制御するランプ制御手段が搭載されたランプ制御基板３５、スピーカ２７からの音発生を制御する音制御手段が搭載された音制御基板７０も設けられている。また、ＤＣ３０Ｖ、ＤＣ２１Ｖ、ＤＣ１２ＶおよびＤＣ５Ｖを作成する電源回路が搭載された電源基板９１０や発射制御基板９１が設けられている。
【００４３】
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板１６０が設置されている。ターミナル基板１６０には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板３１からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤３４が設置されている。
【００４４】
さらに、各基板（主基板３１や払出制御基板３７等）に含まれる記憶内容保持手段（例えば、電力供給停止時にもその内容を保持可能な変動データ記憶手段すなわちバックアップＲＡＭ）に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチ９２１が搭載されたスイッチ基板１９０が設けられている。スイッチ基板１９０には、クリアスイッチ９２１と、主基板３１等の他の基板と接続されるコネクタ９２２が設けられている。
【００４５】
貯留タンク３８に貯留された遊技球は誘導レールを通り、賞球ケース４０Ａで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ１８７が設けられている。球切れスイッチ１８７が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ１８７は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク３８内の補給球の不足を検出する球切れ検出スイッチ１６７も誘導レールにおける上流部分（貯留タンク３８に近接する部分）に設けられている。球切れ検出スイッチ１６７が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【００４６】
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿３が満杯になり、さらに遊技球が払い出されると、遊技球は余剰球受皿４に導かれる。さらに遊技球が払い出されると、満タンスイッチ４８（図３において図示せず）がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
【００４７】
図４は、主基板３１における回路構成の一例を示すブロック図である。なお、図４には、払出制御基板３７、ランプ制御基板３５、音制御基板７０、発射制御基板９１および図柄制御基板８０も示されている。主基板３１には、プログラムに従ってパチンコ遊技機１を制御する基本回路５３と、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、Ｖ入賞スイッチ２２、カウントスイッチ２３、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ、満タンスイッチ４８、球切れスイッチ１８７、賞球カウントスイッチ３０１Ａおよびクリアスイッチ９２１からの信号を基本回路５３に与えるスイッチ回路５８と、可変入賞球装置１５を開閉するソレノイド１６、開閉板２０を開閉するソレノイド２１および大入賞口内の経路を切り換えるためのソレノイド２１Ａを基本回路５３からの指令に従って駆動するソレノイド回路５９とが搭載されている。
【００４８】
なお、図４には示されていないが、カウントスイッチ短絡信号もスイッチ回路５８を介して基本回路５３に伝達される。また、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、Ｖ入賞スイッチ２２、カウントスイッチ２３、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ、満タンスイッチ４８、球切れスイッチ１８７、賞球カウントスイッチ３０１Ａ等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段（この例では遊技球検出手段）であれば、その名称を問わない。入賞検出を行う始動口スイッチ１４ａ、カウントスイッチ２３、および入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａの各スイッチは、入力感知手段での一例であるとともに、入賞検出手段（通過検出スイッチ）の一例でもある。また、満タンスイッチ４８や球切れスイッチ１８７は、入力感知手段での一例であるとともに、払出経路の異常を感知する経路異常感知手段の一例でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ３２ａのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞となり、通過ゲートに設けられているスイッチ（例えばゲートスイッチ３２ａ）が入賞検出手段となる。
【００４９】
また、基本回路５３から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置９における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路６４が搭載されている。
【００５０】
基本回路５３は、ゲーム制御用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用される記憶手段（変動データを記憶する手段）としてのＲＡＭ５５、プログラムに従って制御動作を行うＣＰＵ５６およびＩ／Ｏポート部５７を含む。この実施の形態では、ＲＯＭ５４，ＲＡＭ５５はＣＰＵ５６に内蔵されている。すなわち、ＣＰＵ５６は、１チップマイクロコンピュータである。なお、１チップマイクロコンピュータは、少なくともＲＡＭ５５が内蔵されていればよく、ＲＯＭ５４およびＩ／Ｏポート部５７は外付けであっても内蔵されていてもよい。なお、ＣＰＵ５６はＲＯＭ５４に格納されているプログラムに従って制御を実行するので、以下、ＣＰＵ５６が実行する（または、処理を行う）ということは、具体的には、ＣＰＵ５６がプログラムに従って制御を実行することである。このことは、主基板３１以外の他の基板に搭載されているＣＰＵについても同様である。
【００５１】
また、ＲＡＭ（ＣＰＵ内蔵ＲＡＭであってもよい。）５５の一部または全部が、電源基板９１０において作成されるバックアップ電源よってバックアップされているバックアップＲＡＭである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、ＲＡＭ５５の一部または全部の内容は保存される。
【００５２】
遊技球を打撃して発射する打球発射装置は発射制御基板９１上の回路によって制御される駆動モータ９４で駆動される。そして、駆動モータ９４の駆動力は、操作ノブ５の操作量に従って調整される。すなわち、発射制御基板９１上の回路によって、操作ノブ５の操作量に応じた速度で打球が発射されるように制御される。
【００５３】
この実施の形態では、ランプ制御基板３５に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器１８、普通図柄始動記憶表示器４１および装飾ランプ２５の表示制御を行うとともに、枠側に設けられている天枠ランプ２８ａ、左枠ランプ２８ｂ、右枠ランプ２８ｃ、賞球ランプ５１および球切れランプ５２の表示制御を行う。なお、各ランプはＬＥＤその他の種類の発光体でもよく、この実施の形態および他の実施の形態で用いられているＬＥＤも他の種類の発光体でもよい。すなわち、ランプやＬＥＤは発光体の一例である。また、可変表示装置９における周辺部分や開閉板２０の周囲部分等に設置されている装飾用のランプやＬＥＤも、ランプ制御手段によって制御される。従って、ランプ制御基板３５に搭載されているランプ制御手段は、遊技機に設けられている発光体の制御を行う発光体制御手段に相当する。また、特別図柄を可変表示する可変表示装置９および普通図柄を可変表示する普通図柄表示器１０の表示制御は、図柄制御基板８０に搭載されている表示制御手段によって行われる。
【００５４】
図５は、図柄制御基板８０内の回路構成を、可変表示装置９の一実現例であるＬＣＤ（液晶表示装置）８２、普通図柄表示器１０、主基板３１の出力ポート（ポート０，２）５７０，５７２および出力バッファ回路６２０，６２Ａとともに示すブロック図である。出力ポート（出力ポート２）５７２からは８ビットのデータが出力され、出力ポート５７０からは１ビットのストローブ信号（ＩＮＴ信号）が出力される。
【００５５】
表示制御用ＣＰＵ１０１は、制御データＲＯＭ１０２に格納されたプログラムに従って動作し、主基板３１からノイズフィルタ１０７および入力バッファ回路１０５Ｂを介してＩＮＴ信号が入力されると、入力バッファ回路１０５Ａを介して表示制御コマンドを受信する。入力バッファ回路１０５Ａ，１０５Ｂとして、例えば汎用ＩＣである７４ＨＣ５４０，７４ＨＣ１４を使用することができる。なお、表示制御用ＣＰＵ１０１がＩ／Ｏポートを内蔵していない場合には、入力バッファ回路１０５Ａ，１０５Ｂと表示制御用ＣＰＵ１０１との間に、Ｉ／Ｏポートが設けられる。
【００５６】
そして、表示制御用ＣＰＵ１０１は、受信した表示制御コマンドに従って、ＬＣＤ８２に表示される画面の表示制御を行う。具体的には、表示制御コマンドに応じた指令をＶＤＰ１０３に与える。ＶＤＰ１０３は、キャラクタＲＯＭ８６から必要なデータを読み出す。ＶＤＰ１０３は、入力したデータに従ってＬＣＤ８２に表示するための画像データを生成し、Ｒ，Ｇ，Ｂ信号および同期信号をＬＣＤ８２に出力する。
【００５７】
なお、図５には、ＶＤＰ１０３をリセットするためのリセット回路８３、ＶＤＰ１０３に動作クロックを与えるための発振回路８５、および使用頻度の高い画像データを格納するキャラクタＲＯＭ８６も示されている。キャラクタＲＯＭ８６に格納される使用頻度の高い画像データとは、例えば、ＬＣＤ８２に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
【００５８】
入力バッファ回路１０５Ａ，１０５Ｂは、主基板３１から表示制御基板８０へ向かう方向にのみ信号を通過させることができる。従って、表示制御基板８０側から主基板３１側に信号が伝わる余地はない。すなわち、入力バッファ回路１０５Ａ，１０５Ｂは、入力ポートとともに不可逆性情報入力手段を構成する。表示制御基板８０内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板３１側に伝わることはない。
【００５９】
高周波信号を遮断するノイズフィルタ１０７として、例えば３端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ１０７の存在によって、表示制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板３１のバッファ回路６２０，６２Ａの出力側にもノイズフィルタを設けてもよい。
【００６０】
図６は、主基板３１およびランプ制御基板３５における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域７の外側に設けられている天枠ランプ２８ａ、左右枠ランプ２８ｂ，２８ｃと遊技盤に設けられている装飾ランプ２５、始動記憶表示器１８および普通図柄始動記憶表示器４１の点灯／消灯と、賞球ランプ５１および球切れランプ５２の点灯／消灯とを示すランプ制御コマンドが主基板３１からランプ制御基板３５に出力される。
【００６１】
図６に示すように、ランプ制御に関するランプ制御コマンドは、基本回路５３におけるＩ／Ｏポート部５７の出力ポート（出力ポート０，３）５７０，５７３から出力される。出力ポート（出力ポート３）５７３は８ビットのデータを出力し、出力ポート５７０は１ビットのＩＮＴ信号を出力する。ランプ制御基板３５において、主基板３１からの制御コマンドは、入力バッファ回路３５５Ａ，３５５Ｂを介してランプ制御用ＣＰＵ３５１に入力する。なお、ランプ制御用ＣＰＵ３５１がＩ／Ｏポートを内蔵していない場合には、入力バッファ回路３５５Ａ，３５５Ｂとランプ制御用ＣＰＵ３５１との間に、Ｉ／Ｏポートが設けられる。
【００６２】
ランプ制御基板３５において、ランプ制御用ＣＰＵ３５１は、各制御コマンドに応じて定義されている天枠ランプ２８ａ、左右枠ランプ２８ｂ，２８ｃ、装飾ランプ２５の点灯／消灯パターンに従って、天枠ランプ２８ａ、左右枠ランプ２８ｂ，２８ｃ、装飾ランプ２５に対して点灯／消灯信号を出力する。点灯／消灯信号は、天枠ランプ２８ａ、左右枠ランプ２８ｂ，２８ｃ、装飾ランプ２５に出力される。なお、点灯／消灯パターンは、ランプ制御用ＣＰＵ３５１の内蔵ＲＯＭまたは外付けＲＯＭに記憶されている。
【００６３】
主基板３１において、ＣＰＵ５６は、ＲＡＭ５５の記憶内容に未払出の賞球残数があるときに賞球ランプ５１の点灯を指示する制御コマンドを出力し、前述した遊技盤裏面の払出球通路の上流に設置されている球切れスイッチ１８７（図３参照）が遊技球を検出しなくなると球切れランプ５２の点灯を指示する制御コマンドを出力する。ランプ制御基板３５において、各制御コマンドは、入力バッファ回路３５５Ａ，３５５Ｂを介してランプ制御用ＣＰＵ３５１に入力する。ランプ制御用ＣＰＵ３５１は、それらの制御コマンドに応じて、賞球ランプ５１および球切れランプ５２を点灯／消灯する。なお、点灯／消灯パターンは、ランプ制御用ＣＰＵ３５１の内蔵ＲＯＭまたは外付けＲＯＭに記憶されている。
【００６４】
さらに、ランプ制御用ＣＰＵ３５１は、ランプ制御コマンドに応じて始動記憶表示器１８および普通図柄始動記憶表示器４１に対して表示個数に対応する信号を出力する。
【００６５】
入力バッファ回路３５５Ａ，３５５Ｂとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ５４０，７４ＨＣ１４が用いられる。入力バッファ回路３５５Ａ，３５５Ｂは、主基板３１からランプ制御基板３５へ向かう方向にのみ信号を通過させることができる。従って、ランプ制御基板３５側から主基板３１側に信号が伝わる余地はない。たとえ、ランプ制御基板３５内の回路に不正改造が加えられても、不正改造によって出力される信号がメイン基板３１側に伝わることはない。なお、入力バッファ回路３５５Ａ，３５５Ｂの入力側にノイズフィルタを設けてもよい。
【００６６】
また、主基板３１において、出力ポート５７０，５７３の外側にバッファ回路６２０，６３Ａが設けられている。バッファ回路６２０，６３Ａとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ２５０，７４ＨＣ１４が用いられる。このような構成によれば、外部から主基板３１の内部に入力される信号が阻止されるので、ランプ制御基板７０から主基板３１に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路６２０，６３Ａの出力側にノイズフィルタを設けてもよい。
【００６７】
図７は、主基板３１における音制御コマンドの信号送信部分および音制御基板７０の構成例を示すブロック図である。この実施の形態では、遊技進行に応じて、遊技領域７の外側に設けられているスピーカ２７の音声出力を指示するための音制御コマンドが、主基板３１から音制御基板７０に出力される。
【００６８】
図７に示すように、音制御コマンドは、基本回路５３におけるＩ／Ｏポート部５７の出力ポート（出力ポート０，４）５７０，５７４から出力される。出力ポート（出力ポート４）５７４からは８ビットのデータが出力され、出力ポート５７０からは１ビットのＩＮＴ信号が出力される。音制御基板７０において、主基板３１からの各信号は、入力バッファ回路７０５Ａ，７０５Ｂを介して音制御用ＣＰＵ７０１に入力する。なお、音制御用ＣＰＵ７０１がＩ／Ｏポートを内蔵していない場合には、入力バッファ回路７０５Ａ，７０５Ｂと音制御用ＣＰＵ７０１との間に、Ｉ／Ｏポートが設けられる。
【００６９】
そして、例えばディジタルシグナルプロセッサによる音声合成回路７０２は、音制御用ＣＰＵ７０１の指示に応じた音声や効果音を発生し音量切替回路７０３に出力する。音量切替回路７０３は、音制御用ＣＰＵ７０１の出力レベルを、設定されている音量に応じたレベルにして音量増幅回路７０４に出力する。音量増幅回路７０４は、増幅した音声信号をスピーカ２７に出力する。
【００７０】
入力バッファ回路７０５Ａ，７０５Ｂとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ５４０，７４ＨＣ１４が用いられる。入力バッファ回路７０５Ａ，７０５Ｂは、主基板３１から音制御基板７０へ向かう方向にのみ信号を通過させることができる。よって、音制御基板７０側から主基板３１側に信号が伝わる余地はない。従って、音制御基板７０内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板３１側に伝わることはない。なお、入力バッファ回路７０５Ａ，７０５Ｂの入力側にノイズフィルタを設けてもよい。
【００７１】
また、主基板３１において、出力ポート５７０，５７４の外側にバッファ回路６２０，６７Ａが設けられている。バッファ回路６２０，６７Ａとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ２５０，７４ＨＣ１４が用いられる。このような構成によれば、外部から主基板３１の内部に入力される信号が阻止されるので、音制御基板７０から主基板３１に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路６２０，６７Ａの出力側にノイズフィルタを設けてもよい。
【００７２】
図８は、払出制御基板３７および球払出装置９７の構成要素などの払出に関連する構成要素を示すブロック図である。図８に示すように、満タンスイッチ４８からの検出信号は、中継基板７１を介して主基板３１のＩ／Ｏポート部５７に入力される。また、球切れスイッチ１８７からの検出信号も、中継基板７２および中継基板７１を介して主基板３１のＩ／Ｏポート部５７に入力される。
【００７３】
主基板３１のＣＰＵ５６は、球切れスイッチ１８７からの検出信号が球切れ状態を示しているか、または、満タンスイッチ４８からの検出信号が満タン状態を示していると、払出を停止すべき状態であることを指示する払出制御コマンドを送出する。払出を停止すべき状態であることを指示する払出制御コマンドを受信すると、払出制御基板３７の払出制御用ＣＰＵ３７１は球払出処理を停止する。
【００７４】
さらに、賞球カウントスイッチ３０１Ａからの検出信号は、中継基板７２および中継基板７１を介して主基板３１のＩ／Ｏポート部５７に入力されるとともに、中継基板７２を介して払出制御基板３７の入力ポート３７２ｂに入力される。賞球カウントスイッチ３０１Ａは、球払出装置９７の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【００７５】
入賞があると、払出制御基板３７には、主基板３１の出力ポート（ポート０，１）５７０，５７１から賞球個数を示す払出制御コマンドが入力される。出力ポート（出力ポート１）５７１は８ビットのデータを出力し、出力ポート５７０は１ビットのＩＮＴ信号を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路３７３Ａを介してＩ／Ｏポート３７２ａに入力される。ＩＮＴ信号は、入力バッファ回路３７３Ｂを介して払出制御用ＣＰＵ３７１の割込端子に入力されている。払出制御用ＣＰＵ３７１は、Ｉ／Ｏポート３７２ａを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置９７を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用ＣＰＵ３７１は、１チップマイクロコンピュータであり、少なくともＲＡＭが内蔵されている。
【００７６】
また、主基板３１において、出力ポート５７０，５７１の外側にバッファ回路６２０，６８Ａが設けられている。バッファ回路６２０，６８Ａとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ２５０，７４ＨＣ１４が用いられる。このような構成によれば、外部から主基板３１の内部に入力される信号が阻止されるので、払出制御基板３７から主基板３１に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路６２０，６８Ａの出力側にノイズフィルタを設けてもよい。
【００７７】
払出制御用ＣＰＵ３７１は、出力ポート３７２ｃを介して、貸し球数を示す球貸し個数信号をターミナル基板１６０に出力する。さらに、出力ポート３７２ｄを介して、エラー表示用ＬＥＤ３７４にエラー信号を出力する。
【００７８】
さらに、払出制御基板３７の入力ポート３７２ｂには、中継基板７２を介して、球貸しカウントスイッチ３０１Ｂ、および払出モータ２８９の回転位置を検出するための払出モータ位置センサ２９６からの検出信号が入力される。球貸しカウントスイッチ３０１Ｂは、球払出装置９７の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板３７からの払出モータ２８９への駆動信号は、出力ポート３７２ｃおよび中継基板７２を介して球払出装置９７の払出機構部分における払出モータ２８９に伝えられ、振分ソレノイド３１０への駆動信号は、出力ポート３７２ｅおよび中継基板７２を介して球払出装置９７の払出機構部分における振分ソレノイド３１０に伝えられる。また、クリアスイッチ９２１の出力も、入力ポート３７２ｂに入力される。
【００７９】
カードユニット５０には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット５０には、連結台方向表示器１５３、カード投入表示ランプ１５４およびカード挿入口１５５が設けられている（図１参照）。残高表示基板７４には、打球供給皿３の近傍に設けられている度数表示ＬＥＤ、球貸しスイッチおよび返却スイッチが接続される。
【００８０】
残高表示基板７４からカードユニット５０には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板３７を介して与えられる。また、カードユニット５０から残高表示基板７４には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板３７を介して与えられる。カードユニット５０と払出制御基板３７の間では、接続信号（ＶＬ信号）、ユニット操作信号（ＢＲＤＹ信号）、球貸し要求信号（ＢＲＱ信号）、球貸し完了信号（ＥＸＳ信号）およびパチンコ機動作信号（ＰＲＤＹ信号）が入力ポート３７２ｂおよび出力ポート３７２ｅを介してやりとりされる。
【００８１】
パチンコ遊技機１の電源が投入されると、払出制御基板３７の払出制御用ＣＰＵ３７１は、カードユニット５０にＰＲＤＹ信号を出力する。また、カードユニット制御用マイクロコンピュータは、ＶＬ信号を出力する。払出制御用ＣＰＵ３７１は、ＶＬ信号の入力状態により接続状態／未接続状態を判定する。カードユニット５０においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板３７にＢＲＤＹ信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板３７にＢＲＱ信号を出力する。
【００８２】
そして、払出制御基板３７の払出制御用ＣＰＵ３７１は、カードユニット５０に対するＥＸＳ信号を立ち上げ、カードユニット５０からのＢＲＱ信号の立ち下がりを検出すると、払出モータ２８９を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド３１０は駆動状態とされている。すなわち、球振分部材３１１を球貸し側に向ける。そして、払出が完了したら、払出制御用ＣＰＵ３７１は、カードユニット５０に対するＥＸＳ信号を立ち下げる。その後、カードユニット５０からのＢＲＤＹ信号がオン状態でなければ、賞球払出制御を実行する。
【００８３】
以上のように、カードユニット５０からの信号は全て払出制御基板３７に入力される構成になっている。従って、球貸し制御に関して、カードユニット５０から主基板３１に信号が入力されることはなく、主基板３１の基本回路５３にカードユニット５０の側から不正に信号が入力される余地はない。また、カードユニット５０で用いられる電源電圧ＡＣ２４Ｖは払出制御基板３７から供給される。
【００８４】
この実施の形態では、電源基板９１０から払出制御基板３７に対して電源断信号も入力される。電源断信号は、払出制御用ＣＰＵ３７１のマスク不能割込（ＮＭＩ）端子に入力される。さらに、払出制御基板３７に存在するＲＡＭ（ＣＰＵ内蔵ＲＡＭであってもよい。）の少なくとも一部は、電源基板９１０において作成されるバックアップ電源によって、バックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間は、ＲＡＭの少なくとも一部の内容は保存される。ただし、この実施の形態では、ＲＡＭは全てバックアップ電源によってバックアップされている。
【００８５】
なお、この実施の形態では、カードユニット５０が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット５０は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
【００８６】
図９は、電源基板９１０の一構成例を示すブロック図である。電源基板９１０は、主基板３１、図柄制御基板８０、音制御基板７０、ランプ制御基板３５および払出制御基板３７等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、ＡＣ２４Ｖ、ＶSL（ＤＣ＋３０Ｖ）、ＤＣ＋２１Ｖ、ＤＣ＋１２ＶおよびＤＣ＋５Ｖを生成する。また、バックアップ電源すなわち記憶保持手段となるコンデンサ９１６は、ＤＣ＋５Ｖすなわち各基板上のＩＣ等を駆動する電源のラインから充電される。なお、ＶSLは、整流回路９１２において、整流素子でＡＣ２４Ｖを整流昇圧することによって生成される。ＶSLは、ソレノイド駆動電源となる。
【００８７】
トランス９１１は、交流電源からの交流電圧を２４Ｖに変換する。ＡＣ２４Ｖ電圧は、コネクタ９１５に出力される。また、整流回路９１２は、ＡＣ２４Ｖから＋３０Ｖの直流電圧を生成し、ＤＣ−ＤＣコンバータ９１３およびコネクタ９１５に出力する。ＤＣ−ＤＣコンバータ９１３は、１つまたは複数のコンバータＩＣ９２２（図９では１つのみを示す。）を有し、ＶSLにもとづいて＋２１Ｖ、＋１２Ｖおよび＋５Ｖを生成してコネクタ９１５に出力する。コンバータＩＣ９２２の入力側には、比較的大容量のコンデンサ９２３が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、＋３０Ｖ、＋１２Ｖ、＋５Ｖ等の直流電圧は、比較的緩やかに低下する。コネクタ９１５は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【００８８】
ただし、電源基板９１０に各電気部品制御基板に至る各コネクタを設け、電源基板９１０から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図９には１つのコネクタ９１５が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【００８９】
ＤＣ−ＤＣコンバータ９１３からの＋５Ｖラインは分岐してバックアップ＋５Ｖラインを形成する。バックアップ＋５Ｖラインとグラウンドレベルとの間には大容量のコンデンサ９１６が接続されている。コンデンサ９１６は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップＲＡＭに対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、＋５Ｖラインとバックアップ＋５Ｖラインとの間に、逆流防止用のダイオード９１７が挿入される。なお、この実施の形態では、バックアップ用の＋５Ｖは、主基板３１および払出制御基板３７に供給される。
【００９０】
また、電源基板９１０には、電源監視回路としての電源監視用ＩＣ９０２が搭載されている。電源監視用ＩＣ９０２は、ＶSL電圧を導入し、ＶSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、ＶSL電圧が所定値（この例では＋２２Ｖ）以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧（この例では＋５Ｖ）よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるＶSLが用いられている。電源監視用ＩＣ９０２からの電源断信号は、主基板３１や払出制御基板３７等に供給される。
【００９１】
電源監視用ＩＣ９０２が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のＣＰＵが暫くの間動作しうる程度の電圧である。また、電源監視用ＩＣ９０２が、ＣＰＵ等の回路素子を駆動するための電圧（この例では＋５Ｖ）よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、ＣＰＵが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてＶSL（＋３０Ｖ）を用いる場合には、遊技機の各種スイッチに供給される電圧が＋１２Ｖであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、＋３０Ｖ電源の電圧を監視すると、＋３０Ｖ作成の以降に作られる＋１２Ｖが落ち始める以前の段階でそれの低下を検出できる。
【００９２】
＋１２Ｖ電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、＋１２Ｖより早く低下する＋３０Ｖ電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電力供給回復待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【００９３】
また、電源監視用ＩＣ９０２は、電気部品制御基板とは別個の電源基板９１０に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は１つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【００９４】
なお、図９に示された構成では、電源監視用ＩＣ９０２の検出信号（電源断信号）は、バッファ回路９１８，９１９を介してそれぞれの電気部品制御基板（例えば主基板３１と払出制御基板３７）に伝達されるが、例えば、１つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板３１と払出制御基板３７とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【００９５】
電源基板９１０の電源監視回路（電源監視手段）からの電源断信号は、主基板３１において、ＣＰＵ５６のマスク不能割込端子（ＸＮＭＩ端子）に接続されている。従って、ＣＰＵ５６は、マスク不能割込（ＮＭＩ）処理によって遊技機への電力供給の停止の発生を確認することができる。
【００９６】
ＣＰＵ５６等の駆動電源である＋５Ｖ電源から電力が供給されていない間、ＲＡＭの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、＋５Ｖ電源が復旧すると、システムリセット回路６５からリセット信号が発せられ、ＣＰＵ５６は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップＲＡＭに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【００９７】
なお、この実施の形態では、電源監視手段は電源基板９１０に搭載されているが、電源監視手段は、遊技機における他の箇所に設置されていてもよい。
【００９８】
次に、主基板３１に搭載されているＲＯＭ５４に格納されている遊技制御プログラム（遊技プログラムモジュール）の構造について説明する。図１０に示すように、遊技プログラムモジュールは、メインモジュールと、タイマ割込処理モジュールと、電力供給停止時処理モジュールとに大別される。３つのモジュールは階層関係にない。すなわち、いずれかのモジュールが他のモジュールに従属している（例えば、一のモジュールの実行に伴って他のモジュールが実行される。）という関係にはない。従って、各モジュール間のインタフェース（データのやりとり方法）を取り決めておけば、それぞれを独立して作成することができる。また、１つのモジュールの変更が他のモジュールに変更を及ぼさないようにすることができる。なお、モジュールとは、１つのまとまった処理を実現するプログラムである。
【００９９】
メインモジュールは、下層に、ＣＰＵ５６が内蔵する機能に関する初期設定を行う初期設定モジュール、停電等の電力供給停止状態からの復帰時に遊技状態を電力供給停止前の状態に復旧させる復旧処理モジュール、制御状態を初期化する初期化処理モジュール、タイマ割込処理モジュールによって設定される入力情報を読み出して複製する入力情報設定モジュール、および遊技制御を行う遊技制御モジュールを備えている。すなわち、メインモジュールは、初期設定モジュール、復旧処理モジュール、初期化処理モジュール、入力情報設定モジュールおよび遊技制御モジュールを含む。
【０１００】
この実施の形態では、遊技制御モジュールは、下層に、遊技制御に用いられる乱数を発生するカウンタの更新を行うカウンタ更新モジュール、可変表示装置９に可変表示される識別情報（特別図柄）の表示に関わる制御および大入賞口の開閉に関わる制御を行う特別図柄制御モジュール、普通図柄表示器１０に可変表示される識別情報（普通図柄）の表示に関わる制御および可変入賞球装置１５の開閉に関わる制御を行う普通図柄制御モジュール、図柄制御基板８０に送信される特別図柄に関する表示制御コマンドの送出に関わる制御を行う特別図柄コマンド制御モジュール、図柄制御基板８０に送信される普通図柄に関する表示制御コマンドの送出に関わる制御を行う普通図柄コマンド制御モジュール、遊技制御に関する情報を外部に出力するための処理を行う情報出力処理モジュール、ソレノイド１６，２１，２１Ａの駆動に関わる制御を行うソレノイド出力処理モジュール、賞球払出に関わる制御を行う賞球処理モジュール、および試験信号を外部出力する試験端子処理モジュールを備えている。すなわち、遊技制御モジュールは、特別図柄制御モジュール、普通図柄制御モジュール、特別図柄コマンド制御モジュール、普通図柄コマンド制御モジュール、情報出力処理モジュール、ソレノイド出力処理モジュール、賞球処理モジュールおよび試験端子処理モジュールを含む。
【０１０１】
このように、遊技制御モジュールは、遊技機に設けられている各装置（例えば、可変表示装置９、普通図柄表示器１０、各ソレノイド、賞球に関する装置）に対応した各制御モジュールを含んでいる。従って、そのような制御モジュール単位での入れ替えも可能であり、他機種が、ある機種のある制御モジュール（１つまたは複数）のみを変更すれば実現できるような場合には、その制御モジュールのみを入れ替えればよく、遊技制御モジュールの内容変更は容易である。なお、この実施の形態では、遊技制御モジュールは、カウンタ更新モジュールを含んでいるが、遊技制御モジュールはカウンタ更新モジュールを含まないように構成してもよい。
【０１０２】
タイマ割込処理モジュールは、下層に、遊技装置としての入賞口に関連して設けられているスイッチやセンサ等の入力感知手段からの入力信号を検出可能な入力信号検出手段による入力信号を監視して、入力信号の状態（入力状態）を示す入力情報を記憶する入力情報記憶処理モジュール、遊技制御に用いられる乱数を発生するカウンタの更新を行うカウンタ更新モジュール、および遊技制御に用いられるタイマの更新（タイマの歩進）を行うタイマ更新処理モジュールを備えている。すなわち、タイマ割込処理モジュールは、入力情報記憶処理モジュール、カウンタ更新モジュールおよびタイマ更新処理モジュールを含む。
【０１０３】
メインモジュールにおいて、復旧処理モジュール、初期化処理モジュールおよび遊技制御モジュールで共通に使用される共通モジュールが存在する。図１０に示す例では、共通モジュールとして、復旧処理モジュール、初期化処理モジュールおよび遊技制御モジュールで使用されるコマンド送信モジュールがある。なお、以下に詳述するこの実施の形態では、コマンド作成モジュールによって制御コマンドの作成が行われ、作成された制御コマンドがコマンド送信モジュールによって送信されるが、コマンド作成モジュールとコマンド送信モジュールとのそれぞれが、独立して、復旧処理モジュール、初期化処理モジュールおよび遊技制御モジュールで共通に使用されるような構成であってもよい。
【０１０４】
図１１は、メインモジュールとタイマ割込処理モジュールとの間のデータのやりとりを示す説明図である。メインモジュールとタイマ割込処理モジュールとの間のデータは、ＲＡＭ５５およびＣＰＵ５６のレジスタを介して行われる。ＲＡＭ５５を介してやりとりされるデータとして、例えば、入力情報、乱数生成用カウンタ、タイマ値がある。なお、データのやりとりとして、データの送受信の他に、一方のモジュールによって保存されたデータを、他方のモジュールによって参照される場合もある。
【０１０５】
図１２は、メインモジュールと電力供給停止時処理モジュールとの間のデータのやりとりを示す説明図である。メインモジュールと電力供給停止時処理モジュールとの間のデータは、ＲＡＭ５５およびＣＰＵ５６のレジスタを介して行われる。ＲＡＭ５５を介してやりとりされるデータとして、例えば、ＲＡＭ５５の電源バックアップされている領域（ただし、この実施の形態ではＲＡＭ５５の全領域が電源バックアップされている。）がある。
【０１０６】
図１３は、タイマ割込処理モジュールと電力供給停止時処理モジュールとの間のデータのやりとりを示す説明図である。タイマ割込処理モジュールと電力供給停止時処理モジュールとの間のデータは、ＲＡＭ５５およびＣＰＵ５６のレジスタを介して行われる。ＲＡＭ５５を介してやりとりされるデータとして、例えば、ＲＡＭ５５の電源バックアップされている領域がある。
【０１０７】
以下、図１０に示されたモジュール構造にもとづく遊技機の動作について説明する。図１４は、主基板３１における遊技制御手段（ＣＰＵ５６およびＲＯＭ，ＲＡＭ等の周辺回路）におけるＣＰＵ５６が実行するメインモジュールの構成例を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、ＣＰＵ５６はメインモジュールによるメイン処理を開始する。
【０１０８】
メイン処理において、ＣＰＵ５６は、まず、初期設定モジュールによって必要な初期設定を行う（ステップＳ１００）。
【０１０９】
次いで、ＣＰＵ５６は、入力ポート１を介して入力されるクリアスイッチ９２１の出力信号の状態を１回だけ確認する（ステップＳ７）。その確認においてオンを検出した場合には、ＣＰＵ５６は、通常の初期化処理を実行する（ステップＳ１１〜ステップＳ１５）。クリアスイッチ９２１がオンである場合（押下されている場合）には、ローレベルのクリアスイッチ信号が出力されている。
【０１１０】
クリアスイッチ９２１がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップＲＡＭ領域のデータ保護処理（例えばパリティデータの付加等の電力供給停止時処理）が行われたか否か確認する（ステップＳ８）。この実施の形態では、電力供給の停止が生じた場合には、バックアップＲＡＭ領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、ＣＰＵ５６は、初期化処理モジュール（ステップＳ２００）によって初期化処理を実行する。
【０１１１】
この実施の形態では、バックアップＲＡＭ領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップＲＡＭ領域に設定される実行確認情報としてのバックアップフラグの状態によって確認される。この例では、例えば、バックアップフラグ領域に「５５Ｈ」が設定されていればバックアップあり（オン状態）を意味し、「５５Ｈ」以外の値が設定されていればバックアップなし（オフ状態）を意味する。
【０１１２】
バックアップありを確認したら、ＣＰＵ５６は、バックアップＲＡＭ領域のデータチェック（この例ではパリティチェック）を行う（ステップＳ９）。遊技機への電力供給が停止する際に実行される電力供給停止時処理において、チェックサムが算出され、チェックサムはバックアップＲＡＭ領域に保存されている。ステップＳ９では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップＲＡＭ領域のデータは保存されているはずであるから、チェック結果（比較結果）は正常（一致）になる。チェック結果が正常でないということは、バックアップＲＡＭ領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【０１１３】
チェック結果が正常であれば、ＣＰＵ５６は、復旧処理モジュールによって、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う（ステップＳ１０）。そして、バックアップＲＡＭ領域に保存されていたＰＣ（プログラムカウンタ）の退避値がＰＣに設定され、そのアドレスに復帰する。遊技状態復旧処理においてＰＣが電力供給停止時前の状態に復元され、かつ、各種データ（例えば各乱数を生成するためのカウンタ）がバックアップＲＡＭに保存されていることから、遊技機への電力供給が停止した後所定時間（バックアップＲＡＭのデータ保持可能期間）内に電力供給が復旧すれば、例えば、後述する判定用乱数、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値は、電力供給停止時前の状態から継続されることになる。
【０１１４】
クリアスイッチ９２１がオンである場合（ステップＳ７）、実行確認情報としてのバックアップフラグがオフ状態である場合（ステップＳ８）、またはバックアップＲＡＭ領域のデータチェック結果がＮＧであった場合には（ステップＳ９）、初期化処理が実行される。すなわち、クリアスイッチ９２１が操作されていない状態では、バックアップＲＡＭ領域に実行確認情報が保存されていない場合に初期化処理が実行される。また、バックアップＲＡＭ領域に実行確認情報が保存されていてもバックアップＲＡＭ領域にデータ化けが生じていることが確認されたら初期化処理が実行される。
【０１１５】
初期化処理の実行（ステップＳ２００）が完了すると、メイン処理では、ステップＳ２０〜Ｓ３３のループ処理が繰り返し実行される。ループ処理内で、ＣＰＵ５６は、まず、割込禁止の設定を行い（ステップＳ２０）、割込禁止期間において、タイマ割込処理モジュールによって設定された入力情報を読み出して所定のＲＡＭ領域に設定する（複製する）入力情報設定処理（ステップＳ２１）、表示用乱数更新処理（ステップＳ２２）および初期値用乱数更新処理（ステップＳ２３）を実行する。入力情報設定処理、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする（ステップＳ２４）。
【０１１６】
表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態になっているので、それらの乱数更新処理が実行されている最中に後述する２ｍｓタイマ割込が生じ割込処理で乱数更新処理が実行され、カウント値に矛盾（例えば、不連続に数値が更新されてしまうような不具合）が生じてしまうことが防止される。また、入力情報設定処理が実行されるときには割込禁止状態になっているので、入力情報設定処理が実行されている最中に２ｍｓタイマ割込処理で入力情報が更新されて矛盾が生じてしまうことが防止される。
【０１１７】
表示用乱数とは、可変表示装置９において表示される図柄を決定するための乱数等であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ（大当り判定用乱数発生カウンタ）等のカウント値の初期値（最大値を越えて値が戻された後の値）を決定するための乱数である。
【０１１８】
次いで、ＣＰＵ５６は、ステップＳ２６〜Ｓ３３の遊技制御処理を実行する。遊技制御処理において、ＣＰＵ５６は、まず、特別図柄プロセス処理を行う（ステップＳ２６）。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機１を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う（ステップＳ２７）。普通図柄プロセス処理では、普通図柄の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【０１１９】
次いで、ＣＰＵ５６は、特別図柄に関する表示制御コマンドを送信する処理を行う（特別図柄コマンド制御処理：ステップＳ２８）。また、普通図柄に関する表示制御コマンドを送信する処理を行う（普通図柄コマンド制御処理：ステップＳ２９）。
【０１２０】
さらに、ＣＰＵ５６は、例えばホールコンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う（ステップＳ３０）。
【０１２１】
また、ＣＰＵ５６は、所定の条件が成立したときにソレノイド回路５９に駆動指令を行う（ステップＳ３１）。可変入賞球装置１５または開閉板２０を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路５９は、駆動指令に応じてソレノイド１６，２１，２１Ａを駆動する。
【０１２２】
そして、ＣＰＵ５６は、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する（ステップＳ３２）。具体的には、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａがオンしたことにもとづく入賞検出に応じて、払出制御基板３７に賞球個数を示す払出制御コマンドを出力する。払出制御基板３７に搭載されている払出制御用ＣＰＵ３７１は、賞球個数を示す払出制御コマンドに応じて球払出装置９７を駆動する。また、ＣＰＵ５６は、試験信号を試験端子を介して外部に出力するための制御を行う（ステップＳ３３：試験端子処理）。その後、ステップＳ２０に戻る。
【０１２３】
以上に説明したように、メインモジュールには、制御状態を初期化するための初期化処理モジュールまたは電力供給停止状態からの復帰時に遊技状態を電力供給停止前の状態に復旧させるための復旧処理モジュールが含まれ、また、繰り返し実行される区間および割込禁止状態にある区間が含まれている。
【０１２４】
この実施の形態では、遊技制御処理は繰り返し実行される。そして、２ｍｓ毎に起動されるタイマ割込処理において設定された入力状態に対応した入力情報や、タイマ割込処理において更新されたカウント値（乱数生成用カウンタのカウント値）およびタイマ値を用いて、遊技制御処理が実行される。
【０１２５】
図１５は、初期設定処理を実行するための初期設定モジュールの具体的処理例を示すフローチャートである。初期設定処理において、ＣＰＵ５６は、まず、割込禁止に設定する（ステップＳ１）。次に、割込モードを割込モード２に設定し（ステップＳ２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ３）。そして、内蔵デバイスレジスタの初期化を行う（ステップＳ４）。また、内蔵デバイス（内蔵周辺回路）であるＣＴＣ（カウンタ／タイマ）およびＰＩＯ（パラレル入出力ポート）の初期化（ステップＳ５）を行った後、ＲＡＭをアクセス可能状態に設定する（ステップＳ６）。
【０１２６】
この実施の形態で用いられるＣＰＵ５６は、Ｉ／Ｏポート（ＰＩＯ）およびタイマ／カウンタ回路（ＣＴＣ）も内蔵している。
【０１２７】
この実施の形態で用いられているＣＰＵ５６には、マスク可能な割込のモードとして３種類のモードが用意されている。なお、マスク可能な割込が発生すると、ＣＰＵ５６は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【０１２８】
３種類のうちの割込モード２は、ＣＰＵ５６の特定レジスタ（Ｉレジスタ）の値（１バイト）と内蔵デバイスが出力する割込ベクタ（１バイト：最下位ビット０）から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた２バイトで示されるアドレスである。従って、任意の（飛び飛びではあるが）偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。初期設定処理のステップＳ２において、ＣＰＵ５６は割込モード２に設定される。
【０１２９】
図１６は、初期化処理を行うための初期化処理モジュールの具体的処理例を示すフローチャートである。初期化処理では、ＣＰＵ５６は、まず、ＲＡＭクリア処理を行う（ステップＳ１１）。また、所定の作業領域（例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ）に初期値を設定する作業領域設定処理を行う（ステップＳ１２）。さらに、球払出装置９７からの払出が可能であることを指示する払出許可状態指定コマンドを払出制御基板３７に対して送信する処理を行う（ステップＳ１３）。また、他のサブ基板（ランプ制御基板３５、音制御基板７０、図柄制御基板８０）を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する（ステップＳ１４）。初期化コマンドとして、可変表示装置９に表示される初期図柄を示すコマンド（図柄制御基板８０に対して）や賞球ランプ５１および球切れランプ５２の消灯を指示するコマンド（ランプ制御基板３５に対して）等がある。
【０１３０】
初期化コマンドを送信する場合に、ＣＰＵ５６は、ＲＡＭ５５のあらかじめ決められている領域にコマンドデータを設定する処理、またはＲＯＭ５４に格納されている該当コマンドデータのアドレスを指定する処理であるコマンド作成処理を実行するためのコマンド作成モジュールを実行した後、コマンド送信処理を実行するためのコマンド送信モジュールを実行する。
【０１３１】
そして、２ｍｓ毎に定期的にタイマ割込がかかるようにＣＰＵ５６に設けられているＣＴＣのレジスタの設定が行われる（ステップＳ１５）。すなわち、初期値として２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。
【０１３２】
図１７は、遊技状態復旧処理を実行するための復旧処理モジュールの構成例を示すフローチャートである。遊技状態復旧処理において、ＣＰＵ５６は、まず、スタックポインタの復帰処理を行う（ステップＳ８１）。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のＲＡＭエリア（電源バックアップされている）に退避している。よって、ステップＳ８１では、そのＲＡＭエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域（すなわちスタック領域）には、電力供給が停止したときのレジスタ値やプログラムカウンタ（ＰＣ）の値が退避している。スタック領域は、ＲＡＭ５５のうち電源バックアップされている領域に形成されている。
【０１３３】
次いで、ＣＰＵ５６は、払出停止状態であったか否か確認する（ステップＳ８２）。払出停止状態であったか否かは、電源バックアップされているＲＡＭエリアに保存されている所定の作業領域（例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど）における払出状態データとしての払出停止フラグによって確認される。払出停止状態であった場合には、払出制御基板３７に搭載されている払出制御手段に対して、払出の停止を指示する払出制御コマンド（払出停止状態指定コマンド）を送信する（ステップＳ８３）。払出停止状態でなかった場合には、払出制御手段に対して払出が可能であることを指示する払出制御コマンド（払出可能状態指定コマンド）を送信する（ステップＳ８４）。
【０１３４】
補給球の不足や余剰球受皿４の満タンについて払出制御手段は認識できないので、遊技制御手段から通知しないと、停電等からの復旧時に、補給球の不足や余剰球受皿４の満タンであるにもかかわらず遊技球の払出処理を開始してしまうおそれがある。しかし、この実施の形態では、遊技状態復旧処理において、払出の停止を指示する払出制御コマンドまたは払出が可能であること指示する払出制御コマンドが送信されるので、払出制御手段が、補給球の不足や余剰球受皿４の満タンであるにもかかわらず遊技球の払出処理を開始してしまうことはない。
【０１３５】
なお、ここでは、遊技媒体の払い出しが可能であるか否かを判定する払出状態判定手段（遊技制御手段の一部）が払出可能でないことを検出したら、原因の如何に関わらず、１種類の払出停止状態指定コマンドが送信されるようにしたが、原因別のコマンド（この例では、補給球の不足を示すコマンドと下皿満タンを示すコマンド）に分けて送信してもよい。さらに、遊技球の払出が可能でない場合に、遊技の継続を禁止するために遊技球の発射を禁止することを指示するコマンドを払出制御基板３７に対して送信してもよい。払出制御基板３７に搭載された払出制御手段は、遊技球の発射を禁止することを指示するコマンドを受信したら、打球発射装置の駆動を停止する。また、遊技球の払出が可能でない場合に、遊技制御手段が発射制御手段に対して、直接、遊技球の発射を禁止することを指示する信号を与えてもよい。また、払出制御手段は、払出停止状態指定コマンドを受信した場合に、打球発射装置の駆動を停止するようにしてもよい。
【０１３６】
次いで、ＣＰＵ５６は、電力供給が停止したときに可変表示装置９において特別図柄変動中であったか否か確認する（ステップＳ８５）。電力供給が停止したときに特別図柄変動中であったか否かは、例えば電源バックアップされているＲＡＭエリアに格納されている特別図柄プロセスフラグの値等によって確認することができる。特別図柄変動中であった場合には、図柄制御基板８０に搭載されている表示制御手段に対して、特別図柄停電復旧コマンドおよび左右中の図柄を指定する表示制御コマンドを送信する（ステップＳ８６，Ｓ８７）。ここで、表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに行われていた特別図柄変動で停止表示されるはずであった図柄である。
【０１３７】
表示制御手段は、特別図柄停電復旧コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置９に停電が生じた旨の表示を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、特別図柄の変動期間が終了すると、遊技制御手段は表示制御手段に対して確定コマンドを送信する。表示制御手段は、確定コマンドを受信したことにもとづいて、次の特別図柄の変動を行える状態になる。
【０１３８】
特別図柄変動中でなかった場合には、ＣＰＵ５６は、表示制御手段に対して、左右中の図柄を指定する表示制御コマンド、確定コマンドおよび客待ちデモコマンドを送信する処理を行う（ステップＳ８８〜Ｓ９０）。表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに可変表示装置９において表示されていた図柄である。
【０１３９】
表示制御手段は、確定コマンドを受信すると、左右中の図柄を指定する表示制御コマンドで指定された特別図柄を可変表示装置９に表示させる制御を行う。また、客待ちデモコマンドを受信すると、可変表示装置９の背景等の表示状態を待機状態の表示状態にする制御を行う。
【０１４０】
なお、払出停止状態指定コマンド、払出可能状態指定コマンド、特別図柄停電復旧コマンド、左右中図柄指定コマンド、確定コマンドおよび客待ちでもコマンドを送信する場合（ステップＳ８３，Ｓ８４，Ｓ８６，Ｓ８７，Ｓ８８，Ｓ８９，Ｓ９０）に、ＣＰＵ５６は、ＲＡＭ５５のあらかじめ決められている領域にコマンドデータを設定する処理、またはＲＯＭ５４に格納されている該当コマンドデータのアドレスを指定する処理であるコマンド作成処理を実行するためのコマンド作成モジュールを実行した後、コマンド送信処理を実行するためのコマンド送信モジュールを実行する。
【０１４１】
その後、ＣＰＵ５６は、バックアップフラグをクリアする（ステップＳ９１）すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグ（実行確認情報）をクリアする。クリアする処理は、該当ビットをクリアビット（通常は０）に置き換える処理を行ってもよいし、クリアデータを設定するようにしてもよい。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタに設定する（ステップＳ９２）。すなわち、レジスタ復元処理を行う。そして、パリティフラグがオンしていない場合には割込許可状態にする（ステップＳ９３，Ｓ９４）。最後に、ＡＦレジスタ（アキュミュレータとフラグのレジスタ）をスタック領域から復元する（ステップＳ９５）。
【０１４２】
そして、ＲＥＴ命令が実行されるのであるが、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップＳ８１においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にＮＭＩが発生したアドレスである。従って、ステップＳ９５の次のＲＥＴ命令によって、電力供給停止時にＮＭＩが発生したアドレスにリターンする。すなわち、ＲＡＭ５５におけるスタック領域に退避されていたアドレス（電力供給が停止することが検出されたときに実行されていた遊技プログラムモジュールのアドレス）にもとづいて遊技プログラムモジュールの実行が再開される。従って、プログラムアドレスデータにもとづいて遊技プログラムモジュールの実行を再開させる処理は、ステップＳ８１におけるスタックポインタの復帰処理とステップＳ９５の次のＲＥＴ命令によって実現されている。
【０１４３】
タイマ割込が発生すると、図１８に示すように、ＣＰＵ５６は、レジスタの退避処理（ステップＳ１１０）を行った後、スイッチ処理（ステップＳ１１１）、判定用乱数更新処理（ステップＳ１１２）、表示用乱数更新処理（ステップＳ１１３）、初期値用乱数更新処理（ステップＳ１１４）、およびタイマ更新処理（ステップＳ１１５）を実行した後、レジスタの内容を復帰させ（ステップＳ１１６）、割込許可状態に設定する（ステップＳ１１７）。なお、遊技制御手段におけるスイッチ処理（Ｓ１１１）を実行する部分は、入力ポートとともに、ＣＰＵ５６における入力ポートへの入力信号に関わる処理機能を有する部分によって構成される入力信号検出手段の構成例である。
【０１４４】
なお、判定用乱数更新処理とは、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理である。表示用乱数更新処理（ステップＳ１１３）および初期値用乱数更新処理（ステップＳ１１４）は、上述した表示用乱数更新処理（ステップＳ２２）および初期値用乱数更新処理（ステップＳ２３）と同じ構成でよい。すなわち、タイマ割込処理モジュールにおいて、乱数を発生するための各カウンタの更新が行われている。それらのカウンタはＲＡＭ５５に形成されている。遊技制御処理を実行するメイン処理においても乱数を発生するための各カウンタの更新が行われている。従って、タイマ割込処理モジュールとメイン処理を実行するメインモジュールとは、ＲＡＭ５５を介してデータのやりとりが行われている。なお、ＣＰＵ５６が有する各レジスタのうちの特定のレジスタをメインモジュールとタイマ割込処理モジュールとの間のデータのやりとりのためのレジスタとして用いてもよい。
【０１４５】
図１９は、図１０に示されたモジュール構造と図１４に示されたメインモジュールにより実行されるメイン処理における各処理との関係を示す説明図である。図１９に示すように、図１４におけるステップＳ１〜Ｓ６の処理は初期設定モジュールに相当し、ステップＳ７〜Ｓ１０の処理は復旧処理モジュールに相当し、ステップＳ１１〜Ｓ１５の処理は初期化処理モジュールに相当し、入力情報設定処理（ステップＳ２１）は入力情報設定モジュールに相当し、ステップＳ２６〜Ｓ３３の処理は遊技制御モジュールに相当する。
【０１４６】
図１９に示すように、メインモジュールは、下層に、入力情報設定処理を実行するための入力情報設定処理モジュールと、遊技の進行に沿って遊技装置を制御する制御モジュール（ステップＳ２６〜Ｓ３３）と、制御状態を初期化するための初期化処理をＣＰＵに実行させるための初期化処理モジュールまたは電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理をＣＰＵに実行させるための復旧処理モジュール（少なくともいずれか一方）とを備えている構成である。
【０１４７】
図２０は、図１０に示されたモジュール構造と図１８に示されたタイマ割込処理との関係を示す説明図である。図２０に示すように、入力情報記憶処理モジュールは図１８におけるステップＳ１１１の処理（スイッチ処理）、カウンタ更新モジュールは図１８におけるステップＳ１１２〜Ｓ１１４の処理、タイマ更新処理モジュールは図１８におけるステップＳ１１５の処理にそれぞれ相当している。
【０１４８】
図２０に示すように、タイマ割込処理モジュールは、下層に、入力情報記憶処理を実行するための入力情報記憶処理モジュールと、遊技制御における経過時間を管理するためのタイマを更新するタイマ更新処理を実行するためのタイマ更新処理モジュールと、遊技装置の制御のために用いられるカウンタを更新するカウンタ更新処理を実行するためのカウンタ更新処理モジュールとを備えている構成である。
【０１４９】
図２１は、ＣＰＵ５６が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。すなわち、特別図柄制御モジュールの具体的構成例を示すフローチャートである。図２１に示す特別図柄プロセス処理は、図１４のフローチャートにおけるステップＳ２６の具体的な処理でもある。ＣＰＵ５６は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理（ステップＳ３１０）および始動口スイッチ通過確認処理（ステップＳ３１１）を行った後に、内部状態（この例では特別図柄プロセスフラグ）に応じて、ステップＳ３００〜Ｓ３０９のうちのいずれかの処理を行う。
【０１５０】
変動短縮タイマ減算処理は、始動記憶（始動口スイッチ１４ａがオンしたことの記憶）の記憶可能最大数に対応した個数設けられている変動短縮タイマを減算する処理である。そして、後述する特別図柄大当り判定処理（ステップＳ３０１）において、例えば、変動短縮タイマの値が０になっていて、かつ、低確率状態（通常状態）では始動記憶数が始動記憶の最大値、確変状態では始動記憶数が「２」以上であれば、図柄の変動パターンとして変動時間が短縮されたパターンを用いることに決定される。また、始動口スイッチ通過確認処理は、始動口スイッチ１４ａがオンしたときに所定の各乱数値を取得して記憶する処理である。
【０１５１】
ステップＳ３００〜Ｓ３０９において、以下のような処理が行われる。
【０１５２】
特別図柄通常処理（ステップＳ３００）：始動記憶数を確認し、始動記憶数が０でなければ、ステップＳ３０１に移行するように特別図柄プロセスフラグの値を変更する。
【０１５３】
特別図柄大当り判定処理（ステップＳ３０１）：始動入賞があったときに記憶された各種乱数を格納するバッファ等の内容をシフトする。シフトの結果、押し出されたバッファの内容にもとづいて大当りとするか否かを決定する。なお、バッファは、始動入賞の記憶可能最大数だけ用意されている。また、シフトによって押し出されたバッファの内容は、最も前に生じた始動入賞に応じた内容である。そして、大当りとすることに決定した場合には、大当りフラグをセットする。その後、ステップＳ３０２に移行するように特別図柄プロセスフラグの値を変更する。
【０１５４】
停止図柄設定処理（ステップＳ３０２）：特別図柄の可変表示の表示結果である左右中図柄の停止図柄を決定する。そして、ステップＳ３０３に移行するように特別図柄プロセスフラグの値を変更する。
【０１５５】
変動パターン設定処理（ステップＳ３０３）：特別図柄の可変表示のパターンすなわち可変表示パターン（変動パターン）を決定する。そして、決定された変動パターンおよび停止図柄等を通知するための表示制御コマンドを図柄制御基板８０等に対して出力するための処理を行う。その後、ステップＳ３０４に移行するように特別図柄プロセスフラグの値を変更する。
【０１５６】
特別図柄変動処理（ステップＳ３０４）：変動パターンに応じて決められている変動時間が経過したか否か確認する。経過していれば、ステップＳ３０５に移行するように特別図柄プロセスフラグの値を変更する。
【０１５７】
特別図柄図柄停止処理（ステップＳ３０５）：一定時間（例えば１．０００秒）が経過した後、大当りとすることに決定されている場合には、ステップＳ３０６に移行するように特別図柄プロセスフラグの値を変更する。そうでなければ、ステップＳ３００に移行するように特別図柄プロセスフラグの値を変更する。
【０１５８】
大入賞口開放前処理（ステップＳ３０６）：大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド５４を駆動して大入賞口を開放する。そして、ステップＳ３０７に移行するように特別図柄プロセスフラグの値を変更する。
【０１５９】
大入賞口開放中処理（ステップＳ３０７）：大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、ステップＳ３０８に移行するように特別図柄プロセスフラグの値を変更する。
【０１６０】
特定領域有効時間処理（ステップＳ３０８）：Ｖ入賞スイッチ２２の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、ステップＳ３０７に移行するように特別図柄プロセスフラグの値を変更する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、ステップＳ３０９に移行するように特別図柄プロセスフラグの値を変更する。
【０１６１】
大当り終了処理（ステップＳ３０９）：大当り遊技状態が終了したことを遊技者に報知するための表示をランプ制御手段等に行わせる制御を行う。そして、ステップＳ３００に移行するように特別図柄プロセスフラグの値を変更する。
【０１６２】
図２２は、始動口スイッチ通過確認処理（ステップＳ３１１）を示すフローチャートである。打球が遊技盤に設けられている始動入賞口１４に入賞すると、始動口スイッチ１４ａがオンする。ＣＰＵ５６は、スイッチ回路５８を介して始動口スイッチ１４ａがオンしたことを判定すると（ステップＳ４１）、始動記憶数が上限値（この例では４）に達しているかどうか確認する（ステップＳ４２）。始動記憶数が上限値に達していなければ、始動記憶数を１増やし（ステップＳ４３）、大当り判定用乱数等の各乱数の値を抽出する。そして、それらを始動記憶数の値に対応した乱数値格納エリアに格納する（ステップＳ４４）。
【０１６３】
また、始動記憶数指定コマンドの送出要求のための処理を行う（ステップＳ４５）。始動記憶数指定コマンドとは、ランプ制御基板３５に搭載されているランプ制御手段に対して送信される、新たな始動記憶数を通知するためのランプ制御コマンドであり、具体的には、後述するコマンド送信テーブルを指定する処理が行われる。なお、始動記憶数が上限値に達している場合には、始動記憶数を増やす処理を行わない。
【０１６４】
ＣＰＵ５６は、ステップＳ２５の特別図柄プロセス処理において、図２３に示すように始動記憶数の値を確認する（ステップＳ５１）。始動記憶数が０でなければ、始動記憶；１（１番目の始動記憶）に対応する乱数値格納エリアに格納されている値を読み出すとともに（ステップＳ５２）、始動記憶数の値を１減らし、かつ、各乱数値格納エリアの値をシフトする（ステップＳ５３）。すなわち、始動記憶；ｎ（ｎ＝２，・・・，４）に対応する乱数値格納エリアに格納されている各値を、始動記憶：ｎ−１に対応する乱数値格納エリアに格納する。なお、そのときの始動記憶数に対応した乱数値格納エリアの内容をクリアする。例えば、始動記憶数が４であった場合には、始動記憶；４に対応した特別図柄乱数値格納エリアの内容をクリアする。
【０１６５】
また、始動記憶数が１減らされたので、新たな始動記憶数を表示制御手段等に通知するために、始動記憶数指定コマンドの送出要求のための処理を行う（ステップＳ６５）。
【０１６６】
そして、ＣＰＵ５６は、ステップＳ５２で読み出した値、すなわち抽出されている大当り判定用乱数（特別図柄判定用乱数）の値にもとづいて当り／はずれを決定する（ステップＳ５４）。ここでは、大当り判定用乱数は０〜３１６の範囲の値をとることにする。そして、図２４に示すように、通常状態では、例えばその値が「３」である場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。また、高確率状態（確変状態）では、例えばその値が「３」，「７」，「７９」，「１０３」，「１０７」のいずれかである場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。
【０１６７】
図２５は、各乱数を示す説明図である。各乱数は、以下のように使用される。
（１）ランダム１：大当りを発生させるか否か決定する（大当り判定用）
（２）ランダム２−１〜２−３：特別図柄の左右中のはずれ図柄決定用（特別図柄左右中）
（３）ランダム３：大当りを発生させる特別図柄の組合せを決定する（大当り図柄決定用）
（４）ランダム４：特別図柄の変動パターンを決定する（変動パターン決定用）
（５）ランダム５：普通図柄にもとづく当りを発生させるか否か決定する（普通図柄当り判定用）
（６）ランダム６：ランダム１の初期値を決定する（ランダム１初期値決定用）
（７）ランダム７：ランダム５の初期値を決定する（ランダム５初期値決定用）
【０１６８】
なお、図１８におけるステップＳ１１２では、ＣＰＵ５６は、（１）の大当り判定用乱数、（３）の大当り図柄決定用乱数、および（５）の普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ（１加算）を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数または初期値用乱数である。なお、遊技効果を高めるために、上記（１）〜（７）の乱数以外の普通図柄に関する乱数等も用いられている。
【０１６９】
図２３に示すステップＳ５４において、大当りと判定されたときには、大当り図柄用乱数（ランダム３）の値に従って大当り図柄を決定する（ステップＳ５５）。この実施の形態では、ランダム３の値に応じた大当り図柄テーブルに設定されている図柄番号の各図柄が、大当り図柄として決定される。大当り図柄テーブルには、複数種類の大当り図柄の組み合わせのそれぞれに対応した左右中の図柄番号が設定されている。また、変動パターン決定用乱数（ランダム４）を抽出し、ランダム４の値にもとづいて特別図柄の変動パターンを決定する（ステップＳ５６）。
【０１７０】
はずれと判定された場合には、ＣＰＵ５６は、大当りとしない場合の停止図柄の決定を行う。この実施の形態では、ステップＳ５２で読み出した値、すなわち抽出されているランダム２−１の値に従って左図柄を決定する（ステップＳ５７）。また、ランダム２−２の値に従って中図柄を決定する（ステップＳ５８）。そして、ランダム２−３の値に従って右図柄を決定する（ステップＳ５９）。ここで、決定された中図柄が左右図柄と一致した場合には、中図柄に対応した乱数の値に１加算した値に対応する図柄を中図柄の停止図柄として、大当り図柄と一致しないようにする。
【０１７１】
さらに、ＣＰＵ５６は、リーチすることに決定されたか否か（左右の停止図柄が揃っているか否か）を確認し（ステップＳ６０）、リーチすることに決定されている場合には、変動パターン決定用乱数（ランダム４）の値を抽出し、ランダム４にもとづいて図柄の変動パターンを決定する（ステップＳ６１）。
【０１７２】
リーチすることに決定されていない場合には、確変状態か否かを確認する（ステップＳ６２）。確変状態であれば変動パターンをはずれ時短縮変動パターンとすることに決定する（ステップＳ６３）。確変状態でなければ変動パターンをはずれ時の通常変動パターンとすることに決定する（ステップＳ６４）。なお、はずれ時短縮変動パターンは、左右中の図柄の変動時間が例えば４．０秒という通常変動パターンよりも変動期間が短い変動パターンである。
【０１７３】
以上のようにして、始動入賞にもとづく図柄の変動態様を、リーチ態様とするか、はずれ態様とするか決定され、それぞれの停止図柄の組合せが決定される。すなわち、特別図柄の変動態様として、リーチ演出を行うのか行わないのかが決定されるとともに停止図柄の組合せが決定される。
【０１７４】
なお、図２３に示された処理は、図２１に示された特別図柄プロセス処理におけるステップＳ３０１〜Ｓ３０３の処理をまとめて示した場合の処理に相当する。また、この実施の形態では、左右中図柄の停止図柄が揃った場合に大当りが発生する。左右図柄のみが揃った場合にリーチとなる。
【０１７５】
図２６は、図１５に示された遊技制御処理において実行される普通図柄プロセス処理（ステップＳ２７）を示すフローチャートである。すなわち、普通図柄制御モジュールの具体的構成例を示すフローチャートである。普通図柄プロセス処理では、ＣＰＵ５６は、ステップＳ７１のゲートスイッチ処理を実行した後に、普通図柄プロセスフラグの値に応じてステップＳ７２〜Ｓ７６に示された処理のうちのいずれかの処理を実行する。
【０１７６】
図２７に示すように、ゲートスイッチ処理では、普通図柄変動開始の条件となるゲート３２の打球通過にもとづくゲートスイッチ３２ａのオンを検出する（ステップＳ６１１）。ゲートスイッチ３２ａがオンしていたら、普通図柄始動記憶が最大値（この例では「４」）に達しているか否か確認する（ステップＳ６１２）。達していなければ、普通図柄始動記憶の値を＋１する（ステップＳ６１３）。なお、普通図柄始動記憶の値が変化すると、その旨をランプ制御手段に伝達するためのランプ制御コマンドがランプ制御基板３５に送信される。そして、ＣＰＵ５６は、普通図柄当り判定用乱数（ランダム５）の値を抽出し、その値を記憶する（Ｓ６１４）。なお、普通図柄始動記憶は、バックアップＲＡＭに形成されている。
【０１７７】
ステップＳ７２の普通図柄変動待ち処理では、ＣＰＵ５６は、普通図柄始動記憶の値が０以外であれば、普通図柄プロセスフラグの値を更新する。普通図柄始動記憶の値が０であれば何もしない。
【０１７８】
図２８は、この実施の形態での普通図柄当り判定用乱数（ランダム５）と当り／はずれとの関係を示す説明図である。図２８に示すように、高確率のときには当り値は３〜１２のいずれかであり、低確率のときには３、５または７である。普通図柄当り判定用乱数の値が当り値と一致すれば、当りと決定される。なお、普通図柄の高確率時は、例えば確変時と一致する。
【０１７９】
ステップＳ７３の普通図柄判定処理では、ＣＰＵ５６は、普通図柄始動記憶数＝１に対応する乱数値格納エリアに格納されている値を読み出すとともに、普通図柄始動記憶の値を１減らし、かつ、各乱数値格納エリアの値をシフトする。すなわち、普通図柄始動記憶数＝ｎ（ｎ＝２，３，４）に対応する乱数値格納エリアに格納されている値を、普通図柄始動記憶数＝ｎ−１に対応する乱数値格納エリアに格納する。
【０１８０】
そして、ＣＰＵ５６は、抽出されている普通図柄当り判定用乱数の値にもとづいて当り／はずれを決定する。すなわち、図２８に示された関係にもとづいて当り／はずれを決定する。具体的には、抽出されている普通図柄当り判定用乱数の値が図２８に示された当り判定値（低確率時には３，５，７、高確率時には３〜１２）のいずれかと一致した場合に当りに決定される。
【０１８１】
また、普通図柄の停止図柄を図柄制御基板８０に通知するために、停止図柄を示す表示制御コマンドを送信するための制御を行う。具体的には、所定の格納領域（ＲＡＭ）に停止図柄を示す表示制御コマンドを格納し、コマンド送出要求のためのデータをセットする。そのデータは、遊技制御処理における普通図柄コマンド制御処理（ステップＳ２９）で参照される。あるいは、停止図柄を示す表示制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）のアドレスを、コマンド制御処理において認識可能に指定する。次いで、普通図柄変動開始を示す表示制御コマンドを送信するための制御を行う。具体的には、所定の格納領域（ＲＡＭ）に普通図柄変動開始を示す表示制御コマンドを格納し、コマンド送出要求のためのデータをセットする。あるいは、普通図柄変動開始を示す表示制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）のアドレスを指定する。
【０１８２】
そして、普通図柄変動時間タイマをスタートする。例えば、高確率時には、普通図柄変動時間タイマに５．１秒に相当する値を設定する。低確率時には、普通図柄変動時間タイマに２９．２秒に相当する値を設定する。また、普通図柄プロセスフラグを普通図柄変動処理を示す値に更新する。
【０１８３】
普通図柄の変動制御は、図柄制御基板８０に搭載されている表示制御手段（表示制御用ＣＰＵ１０１等）によって実行される。表示制御手段は、普通図柄変動開始を示す表示制御コマンドを受信したら普通図柄の変動を開始する。そして、後述する普通図柄変動停止を示す表示制御コマンドを受信したら普通図柄の変動を停止し、通知されている停止図柄を表示する。
【０１８４】
ステップＳ７４の普通図柄変動処理では、普通図柄変動時間タイマがタイムアウトしたか否か確認する。タイムアウトしていたら、普通図柄プロセスフラグを普通図柄停止処理を示す値に更新する。
【０１８５】
ステップＳ７５の普通図柄停止処理では普通図柄変動停止を示す表示制御コマンドを送信するための制御を行う。そして、当りとすることに決定されているときには、普通電動役物当りフラグを設定すると共に、普通図柄プロセスフラグを始動入賞口開閉処理を示す値に更新する。始動入賞口開閉処理では、所定回数だけ所定期間始動入賞口（可変入賞球装置１５）を開放する制御が行われる。また、はずれとすることに決定されているときには、普通図柄プロセスフラグを普通図柄変動待ち処理を示す値に更新する。
【０１８６】
なお、始動入賞口開閉処理で用いられる開放パターンは、例えば、低確率時には、可変入賞球装置１５が１回だけ０．２秒間開放するようなパターンである。また、高確率時には、可変入賞球装置１５が１．１５秒間開放した後４．４秒の閉成期間をおいて再度１．１５秒間開放するようなパターンである。可変入賞球装置１５は、開放パターンに従って開閉制御される。なお、この実施の形態では、普通電動役物としての可変入賞球装置１５は、始動入賞口１４を開閉するための電動役物と兼用されている。
【０１８７】
図２９は、主基板３１から、ランプ制御基板３５、払出制御基板３７、音制御基板７０および図柄制御基板８０に送信される制御コマンド（ランプ制御コマンド、音制御コマンド、表示制御コマンドおよび払出制御コマンド）のコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドのコマンドデータは２バイト構成であり、１バイト目はＭＯＤＥ（コマンドの種類）を表し、２バイト目はＥＸＴ（具体的指示内容）を表す。ＭＯＤＥデータの先頭ビット（ビット７）は必ず「１」とされ、ＥＸＴデータの先頭ビット（ビット７）は必ず「０」とされる。このように、ランプ制御基板３５、払出制御基板３７、音制御基板７０および図柄制御基板８０に送信される制御コマンドは、複数のコマンドデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図２９に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、１バイトや３バイト以上で構成される制御コマンドを用いてもよい。
【０１８８】
図３０に示すように、制御コマンドは、８ビットの制御信号ＣＤ０〜ＣＤ７（コマンドデータ）とＩＮＴ信号（取込信号）とで構成される。ランプ制御基板３５、払出制御基板３７、音制御基板７０および図柄制御基板８０に搭載されているランプ制御手段、払出制御手段、音制御手段および表示制御手段は、ＩＮＴ信号が立ち上がったことを検知して、割込処理によって１バイトのデータの取り込み処理を開始する。
【０１８９】
主基板３１の遊技制御手段から各サブ基板（ランプ制御基板３５、払出制御基板３７、音制御基板７０、図柄制御基板８０）に制御コマンドを出力しようとするときに、コマンド送信テーブルの設定が行われる。あるいは、ＲＯＭ５４に形成されているコマンド送信テーブルのアドレス指定が行われる。図３１は、コマンド送信テーブルの一構成例を示す説明図である。１つのコマンド送信テーブルは３バイトで構成され、１バイト目には後述するＩＮＴデータが設定される。また、２バイト目のコマンドデータ１には、制御コマンドの１バイト目のＭＯＤＥデータが設定される。そして、３バイト目のコマンドデータ２には、制御コマンドの２バイト目のＥＸＴデータが設定される。
【０１９０】
なお、ＥＸＴデータそのものがコマンドデータ２の領域に設定されてもよいが、コマンドデータ２には、ＥＸＴデータが格納されているテーブル（ＲＯＭ５４に形成される。）のアドレスを指定するためのデータ（バッファ指定データ）が設定されるようにしてもよい。この実施の形態では、図３２（Ａ）に示すように、コマンドデータ２のビット７（ワークエリア参照ビット）が０であれば、コマンドデータ２にＥＸＴデータそのものが設定されていることを示す。なお、そのようなＥＸＴデータはビット７が０であるデータである。また、図３２（Ｂ）に示すように、ワークエリア参照ビットが１であれば、他の７ビットが、ＥＸＴデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示す。なお、図３２（Ｂ）に示す例では、ビット４〜ビット０が使用されているので、３２種類のバッファを指定することが可能である。また、３２種類のバッファには、例えば特別図柄変動パターンバッファ、特別図柄左図柄バッファ、特別図柄中図柄バッファ、特別図柄右図柄バッファなどが含まれる。
【０１９１】
図３３はＩＮＴデータの一構成例を示す説明図である。ＩＮＴデータにおけるビット０は、払出制御基板３７に払出制御コマンドを送出すべきか否かを示す。ビット０が「１」であるならば、払出制御コマンドを送出すべきことを示す。従って、ＣＰＵ５６は、例えば賞球処理（遊技制御処理のステップＳ３１）において、ＩＮＴデータに「０１（Ｈ）」を設定する。
【０１９２】
また、ＩＮＴデータにおけるビット１は、図柄制御基板８０に表示制御コマンドを送出すべきか否かを示す。ビット１が「１」であるならば、表示制御コマンドを送出すべきことを示す。従って、ＣＰＵ５６は、例えば特別図柄プロセス処理や普通図柄プロセス処理（遊技制御処理のステップＳ２６やＳ２７）において、ＩＮＴデータに「０２（Ｈ）」を設定する。
【０１９３】
ＩＮＴデータのビット２，３は、それぞれ、ランプ制御コマンド、音制御コマンドを送出すべきか否かを示すビットであり、ＣＰＵ５６は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタ（例えば、特別図柄コマンド送信ポインタ）が指しているコマンド送信テーブルに、ＩＮＴデータ、コマンドデータ１およびコマンドデータ２を設定する。それらのコマンドを送出するときには、ＩＮＴデータの該当ビットが「１」に設定され、コマンドデータ１およびコマンドデータ２にＭＯＤＥデータおよびＥＸＴデータが設定される。
【０１９４】
この実施の形態では、各制御コマンドについて、それぞれ複数のコマンド送信テーブルが用意され、使用すべきコマンド送信テーブルはコマンド送信前に設定される。あるいは、ＲＯＭ５４に形成されているコマンド送信テーブルのアドレス指定が行われる。また、複数のコマンド送信テーブルを１つのテーブルに設定してもよい。例えば、図３４に示すように、複数の表示制御コマンドを格納することが可能な複数のコマンド送信テーブルを含む１個のテーブルが用意されている。ＣＰＵ５６は、例えば、コマンド作成処理において、ポインタが差しているコマンド送信テーブルから、ＩＮＴデータ、コマンドデータ１およびコマンドデータ２を読み出し、表示制御コマンドを送信する。そして、ポインタを更新する。その後、ポインタが指定するコマンド送信テーブルが終了コードを示すまで、表示制御コマンドの送信処理を繰り返す。なお、各制御コマンドについて用意されるテーブルの一部（例えば、払出制御基板３７に対する払出個数指定コマンドが設定されるテーブル）を、リングバッファ形式に構成するようにしてもよい。
【０１９５】
図３５は、コマンド作成処理を実行するためのコマンド作成モジュールの構成例を示すフローチャートである。コマンド作成処理は、コマンド出力処理とＩＮＴ信号出力処理とを含む処理である。コマンド作成処理は、遊技制御処理では、ステップＳ２６の特別図柄プロセス処理、ステップＳ２８の特別図柄コマンド制御処理、ステップＳ２９の普通図柄コマンド制御処理およびステップＳ３２の賞球処理において、制御コマンドを作成する際に実行される。
【０１９６】
コマンド作成処理において、ＣＰＵ５６は、まず、コマンド送信テーブルのアドレスをスタック等に退避する（ステップＳ３３１）。そして、ポインタが指していたコマンド送信テーブルのＩＮＴデータを引数１にロードする（ステップＳ３３２）。引数１は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを＋１する（ステップＳ３３３）。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ１のアドレスに一致する。なお、表示制御コマンドは例えば図３１に示されたコマンド送信テーブルに設定されている。
【０１９７】
次いで、ＣＰＵ５６は、コマンドデータ１を読み出して引数２に設定する（ステップＳ３３４）。引数２も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理を実行するためのコマンド送信モジュールを実行する（ステップＳ３３５）。
【０１９８】
図３６は、コマンド送信処理を実行するためのコマンド送信モジュールの構成例を示すフローチャートである。コマンド送信処理処理において、ＣＰＵ５６は、まず、引数１に設定されているデータすなわちＩＮＴデータを、比較値として決められているワークエリアに設定する（ステップＳ３５１）。次いで、送信回数＝４を、処理数として決められているワークエリアに設定する（ステップＳ３５２）。そして、ポート１のアドレスをＩＯアドレスにセットする（ステップＳ３５３）。この実施の形態では、ポート１のアドレスは払出制御コマンドデータを出力するための出力ポートのアドレスであり、ポート２〜４のアドレスが、表示制御コマンドデータ、ランプ制御コマンドデータ、音制御コマンドデータを出力するための出力ポートのアドレスであるとする。
【０１９９】
次に、ＣＰＵ５６は、比較値を１ビット右にシフトする（ステップＳ３５４）。シフト処理の結果、キャリービットが１になったか否か確認する（ステップＳ３５５）。キャリービットが１になったということは、ＩＮＴデータにおける最も右側のビットが「１」であったことを意味する。この実施の形態では４回のシフト処理が行われるのであるが、例えば、表示制御コマンドを送出すべきことが指定されているときには、２回目のシフト処理でキャリービットが１になる。
【０２００】
キャリービットが１になった場合には、引数２に設定されているデータ、この場合にはコマンドデータ１（すなわちＭＯＤＥデータ）を、ＩＯアドレスとして設定されているアドレスに出力する（ステップＳ３５６）。２回目のシフト処理が行われたときにはＩＯアドレスにポート２のアドレスが設定されているので、そのときに、表示制御コマンドのＭＯＤＥデータがポート２に出力される。
【０２０１】
次いで、ＣＰＵ５６は、ＩＯアドレスを１加算するとともに（ステップＳ３５７）、処理数を１減算する（ステップＳ３５８）。加算前にポート２を示していた場合には、ＩＯアドレスに対する加算処理によって、ＩＯアドレスにはポート３のアドレスが設定される。ポート３は、ランプ制御コマンドを出力するためのポートである。そして、ＣＰＵ５６は、処理数の値を確認し（ステップＳ３５９）、値が０になっていなければ、ステップＳ３５４に戻る。ステップＳ３５４で再度シフト処理が行われる。
【０２０２】
２回目のシフト処理ではＩＮＴデータにおけるビット１の値が押し出され、ビット１の値に応じてキャリーフラグが「１」または「０」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、３回目および４回目のシフト処理によって、ランプ制御コマンドおよび音制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、ＩＯアドレスには、シフト処理によってチェックされるコマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド）に対応したＩＯアドレスが設定されている。
【０２０３】
よって、キャリーフラグが「１」になったときには、対応する出力ポート（ポート１〜ポート４）に制御コマンドが送出される。すなわち、１つの共通モジュールで、各サブ基板の制御手段に対する制御コマンドの送出処理を行うことができる。
【０２０４】
また、このように、シフト処理のみによってどの各サブ基板の制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。従って、コマンド送信モジュールを複数のモジュールで共通に使用することが容易になっている。
【０２０５】
次に、ＣＰＵ５６は、シフト処理開始前のＩＮＴデータが格納されている引数１の内容を読み出し（ステップＳ３６０）、読み出したデータをポート０に出力する（ステップＳ３６１）。この実施の形態では、ポート０のアドレスは、各制御信号についてのＩＮＴ信号を出力するためのポートであり、ポート０のビット０〜４が、それぞれ、払出制御ＩＮＴ信号、表示制御ＩＮＴ信号、ランプ制御ＩＮＴ信号、音声制御ＩＮＴ信号を出力するためのポートである。ＩＮＴデータでは、ステップＳ３５１〜Ｓ３５９の処理で出力された制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド）に応じたＩＮＴ信号の出力ビットに対応したビットが「１」になっている。従って、ポート１〜ポート４のいずれかに出力された制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド）に対応したＩＮＴ信号がオフ状態（ローレベル）になる。
【０２０６】
次いで、ＣＰＵ５６は、ウェイトカウンタに所定値を設定し（ステップＳ３６２）、その値が０になるまで１ずつ減算する（ステップＳ３６３，Ｓ３６４）。ウェイトカウンタの値が０になると、クリアデータ（００）を設定して（ステップＳ３６５）、そのデータをポート０に出力する（ステップＳ３６６）。よって、ＩＮＴ信号はオフ状態になる。そして、ウェイトカウンタに所定値を設定し（ステップＳ３６２）、その値が０になるまで１ずつ減算する（ステップＳ３６８，Ｓ３６９）。
【０２０７】
以上のようにして、制御コマンドの１バイト目のＭＯＤＥデータが送出される。そこで、ＣＰＵ５６は、図３５に示すステップＳ３３６で、コマンド送信テーブルを指す値を１加算する。従って、３バイト目のコマンドデータ２の領域が指定される。ＣＰＵ５６は、指し示されたコマンドデータ２の内容を引数２にロードする（ステップＳ３３７）。また、コマンドデータ２のビット７（ワークエリア参照ビット）の値が「０」であるか否か確認する（ステップＳ３３９）。０でなければ、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし（ステップＳ３３９）、そのポインタにコマンドデータ２のビット６〜ビット０の値を加算してアドレスを算出する（ステップＳ３４０）。そして、そのアドレスが指すエリアのデータを引数２にロードする（ステップＳ３４１）。
【０２０８】
コマンド拡張データアドレステーブルには、各サブ基板の制御手段に送出されうるＥＸＴデータが順次設定されている。よって、以上の処理によって、ワークエリア参照ビットの値が「１」であれば、コマンドデータ２の内容に応じたコマンド拡張データアドレステーブル内のＥＸＴデータが引数２にロードされ、ワークエリア参照ビットの値が「０」であれば、コマンドデータ２の内容がそのまま引数２にロードされる。なお、コマンド拡張データアドレステーブルからＥＸＴデータが読み出される場合でも、そのデータのビット７は「０」である。
【０２０９】
次に、ＣＰＵ５６は、コマンド送信モジュールを実行する（ステップＳ３４２）。従って、ＭＯＤＥデータの送出の場合と同様のタイミングでＥＸＴデータが送出される。その後、ＣＰＵ５６は、コマンド送信テーブルのアドレスを復帰し（ステップＳ３４３）、コマンド送信テーブルを指す読出ポインタの値を更新する（ステップＳ３４４）。そして、さらに送出すべきコマンドがあれば（ステップＳ３４５）、ステップＳ３３１に戻る。
【０２１０】
以上のようにして、２バイト構成の制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド）が、対応する各サブ基板の制御手段に送信される。各サブ基板の制御手段ではＩＮＴ信号のレベル変化を検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、表示制御手段等の各制御手段において、確実なコマンド受信処理が行われる。なお、ＩＮＴ信号の極性を図３０に示された場合と逆にしてもよい。
【０２１１】
図３７および図３８は、この実施の形態における出力ポートの割り当てを示す説明図である。図３７に示すように、出力ポート０は各電気部品制御基板に送出される制御コマンドのＩＮＴ信号の出力ポートである。また、払出制御基板３７に送出される払出制御コマンドの８ビットのデータ（払出制御信号ＣＤ０〜ＣＤ７）は出力ポート１から出力され、図柄制御基板８０に送出される表示制御コマンド（表示制御信号ＣＤ０〜ＣＤ７）の８ビットのデータは出力ポート２から出力され、ランプ制御基板３５に送出されるランプ制御コマンドの８ビットのデータ（ランプ制御信号ＣＤ０〜ＣＤ７）は出力ポート３から出力される。そして、図３８に示すように、音制御基板７０に送出される音制御コマンドの８ビットのデータ（音声制御信号ＣＤ０〜ＣＤ７）は出力ポート４から出力される。
【０２１２】
また、出力ポート５から、情報出力回路６４を介して情報端子板３４やターミナル基板１６０に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート６から、可変入賞球装置１５を開閉するためのソレノイド１６、大入賞口の開閉板２０を開閉するためのソレノイド２１、および大入賞口内の経路を切り換えるためのソレノイド２１Ａに対する駆動信号が出力される。
【０２１３】
図３８に示すように、払出制御基板３７、図柄制御基板８０、ランプ制御基板３５および音制御基板７０に対して出力される各ＩＮＴ信号（払出制御信号ＩＮＴ、表示制御信号ＩＮＴ、ランプ制御信号ＩＮＴおよび音声制御信号ＩＮＴ）を出力する出力ポート（出力ポート０）と、払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７および音声制御信号ＣＤ０〜ＣＤ７を出力する出力ポート（出力ポート１〜４）とは、別ポートである。
【０２１４】
従って、ＩＮＴ信号を出力する際に、誤って払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７および音声制御信号ＣＤ０〜ＣＤ７を変化させてしまう可能性が低減する。また、払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７または音声制御信号ＣＤ０〜ＣＤ７を出力する際に、誤ってＩＮＴ信号を変化させてしまう可能性が低減する。その結果、主基板３１の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各ＩＮＴ信号は、全て出力ポート０から出力されるように構成されているので、遊技制御手段のＩＮＴ信号出力処理の負担が軽減される。
【０２１５】
図３９は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図３９に示すように、入力ポート０のビット０〜７には、それぞれ、入賞口スイッチ３３ａ，３９ａ，２９ａ，３０ａ、始動口スイッチ１４ａ、カウントスイッチ２３、Ｖ入賞スイッチ２２、ゲートスイッチ３２ａの検出信号が入力される。また、入力ポート１のビット０〜４には、それぞれ、賞球カウントスイッチ３０１Ａ、満タンスイッチ４８、球切れスイッチ１８７の検出信号、カウントスイッチ短絡信号およびクリアスイッチ９２１の検出信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路５８において論理反転されている。このように、クリアスイッチ９２１の検出信号すなわち初期化操作手段の操作入力は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート（８ビット構成の入力部）と同一の入力ポートにおけるビット（入力ポート回路）に入力されている。
【０２１６】
次に、タイマ割込処理の動作について説明する。まず、タイマ割込処理におけるスイッチ処理（ステップＳ１１１）の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップＲＡＭ領域に形成された１バイトのカウンタであり、検出信号がオン状態を示している場合に２ｍｓ毎に＋１される。図４０に示すように、スイッチタイマは検出信号の数Ｎ（クリアスイッチ９２１の検出信号を除く）だけ設けられている。この実施の形態ではＮ＝１２である。また、ＲＡＭ５５において、各スイッチタイマのアドレスは、入力ポートのビット配列順（図３９に示された上から下への順）と同じ順序で並んでいる。
【０２１７】
図４１は、スイッチ処理（ステップＳ１１１）の処理例を示すフローチャートである。すなわち、入力情報記憶処理モジュールの具体的構成例を示すフローチャートである。従って、スイッチ処理では、入力信号検出手段としての入力ポートによって検出される入力信号の入力状態を監視して、入力状態を示す入力情報を所定のＲＡＭ領域に記憶する。
【０２１８】
スイッチ処理において、ＣＰＵ５６は、まず、入力ポート０に入力されているデータを入力する（ステップＳ１０１）。次いで、処理数として「８」を設定し（ステップＳ１０２）、入賞口スイッチ３３ａのためのスイッチタイマのアドレスをポインタにセットする（ステップＳ１０３）。そして、スイッチチェック処理を実行するためのスイッチチェック処理モジュールを実行する（ステップＳ１０４）。
【０２１９】
図４２は、スイッチチェック処理を実行するためのスイッチチェック処理モジュールの構成例を示すフローチャートである。スイッチチェック処理において、ＣＰＵ５６は、ポート入力データ、この場合には入力ポート０からの入力データを「比較値」として設定する（ステップＳ１２１）。また、クリアデータ（００）をセットする（ステップＳ１２２）。そして、ポインタ（スイッチタイマのアドレスが設定されている）が指すスイッチタイマをロードするとともに（ステップＳ１２３）、比較値を右（上位ビットから下位ビットへの方向）にシフトする（ステップＳ１２４）。比較値には入力ポート０のデータ設定されている。そして、この場合には、入賞口スイッチ３３ａの検出信号がキャリーフラグに押し出される。
【０２２０】
キャリーフラグの値が「１」であれば（ステップＳ１２５）、すなわち入賞口スイッチ３３ａの検出信号がオン状態であれば、スイッチタイマの値を１加算する（ステップＳ１２７）。加算後の値が０でなければ加算値をスイッチタイマに戻す（ステップＳ１２８，Ｓ１２９）。加算後の値が０になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値（２５５）に達している場合には、それよりも値を増やさない。
【０２２１】
キャリーフラグの値が「０」であれば、すなわち入賞口スイッチ３３ａの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする（ステップＳ１２６）。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が０に戻る。
【０２２２】
その後、ＣＰＵ５６は、ポインタ（スイッチタイマのアドレス）を１加算するとともに（ステップＳ１３０）、処理数を１減算する（ステップＳ１３１）。処理数が０になっていなければステップＳ１２２に戻る。そして、ステップＳ１２２〜Ｓ１３２の処理が繰り返される。
【０２２３】
ステップＳ１２２〜Ｓ１３２の処理は、処理数分すなわち８回繰り返され、その間に、入力ポート０の８ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が１増やされる。
【０２２４】
ＣＰＵ５６は、スイッチ処理のステップＳ１０５において、入力ポート１に入力されているデータを入力する。次いで、処理数として「４」を設定し（ステップＳ１０６）、賞球カウントスイッチ３０１Ａのためのスイッチタイマのアドレスをポインタにセットする（ステップＳ１０７）。そして、スイッチチェック処理モジュールを実行する（ステップＳ１０８）。
【０２２５】
スイッチチェック処理では、上述した処理が実行されるので、ステップＳ１２２〜Ｓ１３２の処理が、処理数分すなわち４回繰り返され、その間に、入力ポート１の４ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が１増やされる。
【０２２６】
この実施の形態では、タイマ割込処理が２ｍｓ毎に起動されるので、スイッチ処理も２ｍｓに１回実行される。従って、スイッチタイマは、２ｍｓ毎に＋１される。なお、スイッチ処理は定期的に起動されればよく、２ｍｓ毎の起動は一例である。
【０２２７】
入力信号検出手段によって検出された入力信号の入力状態を示す入力情報は、スイッチタイマに反映されている。従って、入力情報を記憶する処理は、この実施の形態では、スイッチタイマに値を記憶する処理で実現されている。すなわち、スイッチタイマに記憶される値は入力情報の一例である。なお、この実施の形態では、スイッチタイマはＲＡＭ５５に形成されているが、入力情報はレジスタ等の他の記憶手段に記憶されてもよい。
【０２２８】
後述するように、メイン処理では、入力情報（この例ではスイッチタイマの値）を読み出して他の領域に設定する処理である複製（入力情報設定処理）が行われ、遊技制御処理において、入力情報設定処理によって設定された領域の値（複製情報）が参照される。
【０２２９】
図４３は、判定用乱数更新処理（ステップＳ１１２）の一例を示すフローチャートである。判定用乱数更新処理において、ＣＰＵ５６は、ランダム１生成用カウンタの値を＋１する（ステップＳ１５１）。ランダム１生成用カウンタとは、ランダム１（大当り判定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム１生成用カウンタのカウント値が３１７になった場合には、その値を０に戻す（ステップＳ１５２，Ｓ１５３）。そして、ランダム１生成用カウンタのカウント値が初期値としてＲＡＭ５５に保存されている値と一致した場合には（ステップＳ１５４）、ランダム６生成用カウンタ（ランダム６すなわちランダム１初期値決定用乱数を生成するためのカウンタ）の値を抽出し（ステップＳ１５５）、抽出した値をランダム１生成用カウンタにセットするとともに（ステップＳ１５６）、抽出した値を初期値としてＲＡＭ５５に保存する（ステップＳ１５７）。ステップＳ１５４〜Ｓ１５７の処理によって、ランダム１生成用カウンタのカウント値が１周（３１７カウント）すると、ランダム１生成用カウンタのカウント値が変更される。その結果、ランダム１の値が大当り判定値と一致するタイミングがランダムになる。
【０２３０】
次いで、ＣＰＵ５６は、ランダム３生成用カウンタの値を＋１する（ステップＳ１５８）。ランダム３生成用カウンタとは、ランダム３（大当り図柄決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム３生成用カウンタのカウント値が１２になった場合には、その値を０に戻す（ステップＳ１５９，Ｓ１６０）。従って、ランダム３生成用カウンタの値は、０〜１１の間を歩進する。
【０２３１】
次に、ＣＰＵ５６は、ランダム５生成用カウンタの値を＋１する（ステップＳ１６１）。ランダム５生成用カウンタとは、ランダム５（普通図柄当り判定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム５生成用カウンタのカウント値が１４になった場合には、その値を３に戻す（ステップＳ１６２，Ｓ１６３）。従って、ランダム５生成用カウンタの値は、３〜１４の間を歩進する。そして、ランダム５生成用カウンタのカウント値が初期値としてＲＡＭ５５に保存されている値と一致した場合には（ステップＳ１６４）、ランダム７生成用カウンタ（ランダム７すなわちランダム５初期値決定用乱数を生成するためのカウンタ）の値を抽出し（ステップＳ１６５）、抽出した値をランダム５生成用カウンタにセットするとともに（ステップＳ１６６）、抽出した値を初期値としてＲＡＭ５５に保存する（ステップＳ１６７）。ステップＳ１６４〜Ｓ１６７の処理によって、ランダム５生成用カウンタのカウント値が１周すると、ランダム５生成用カウンタのカウント値が変更される。その結果、ランダム５の値が当り判定値と一致するタイミングがランダムになる。
【０２３２】
図４４は、表示用乱数更新処理（ステップＳ１１３）の一例を示すフローチャートである。表示用乱数更新処理において、ＣＰＵ５６は、ランダム２−１生成用カウンタの値を＋１する（ステップＳ１７１）。ランダム２−１生成用カウンタとは、ランダム２−１（左のはずれ図柄決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム２−１生成用カウンタのカウント値が１２になった場合には、その値を０に戻す（ステップＳ１７２，Ｓ１７３）。ランダム２−１生成用カウンタのカウント値を０に戻した場合には、ランダム２−２生成用カウンタの値を＋１する（ステップＳ１７４）。ランダム２−２生成用カウンタとは、ランダム２−２（中のはずれ図柄決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム２−２生成用カウンタのカウント値が１２になった場合には、その値を０に戻す（ステップＳ１７５，Ｓ１７６）。
【０２３３】
ランダム２−２生成用カウンタのカウント値を０に戻した場合には、ランダム２−３生成用カウンタの値を＋１する（ステップＳ１７７）。ランダム２−３生成用カウンタとは、ランダム２−３（右のはずれ図柄決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム２−３生成用カウンタのカウント値が１２になった場合には、その値を０に戻す（ステップＳ１７９，Ｓ１８０）。
【０２３４】
次いで、ＣＰＵ５６は、ランダム４生成用カウンタの値を＋１する（ステップＳ１８０）。ランダム４生成用カウンタとは、ランダム４（変動パターン決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム４生成用カウンタのカウント値が２５１になった場合には、その値を０に戻す（ステップＳ１８１，Ｓ１８２）。従って、ランダム４生成用カウンタの値は、０〜２５０の間を歩進する。
【０２３５】
図４５は、初期値用乱数更新処理（ステップＳ１１４）の一例を示すフローチャートである。初期値用用乱数更新処理において、ＣＰＵ５６は、ランダム６生成用カウンタの値を＋１する（ステップＳ１９１）。ランダム６生成用カウンタとは、ランダム６（ランダム１初期値決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム６生成用カウンタのカウント値が３１７になった場合には、その値を０に戻す（ステップＳ１９２，Ｓ１９３）。従って、ランダム６生成用カウンタの値は、０〜３１６の間を歩進する。
【０２３６】
また、ＣＰＵ５６は、ランダム７生成用カウンタの値を＋１する（ステップＳ１９４）。ランダム７生成用カウンタとは、ランダム７（ランダム５初期値決定用乱数）を生成するためのカウンタであり、ＲＡＭ５５に形成されている。ランダム７生成用カウンタのカウント値が１４になった場合には、その値を３に戻す（ステップＳ１９５，Ｓ１９６）。従って、ランダム７生成用カウンタの値は、３〜１４の間を歩進する。
【０２３７】
図４６は、タイマ更新処理（ステップＳ１１５）の一例を示すフローチャートである。タイマ更新処理において、ＣＰＵ５６は、特別図柄プロセスタイマの値が０であるか否か確認する（ステップＳ１４１）。特別図柄プロセスタイマの値が０でなければ、特別図柄プロセスタイマの値を−１する（ステップＳ１４２）。なお、特別図柄プロセスタイマは、特別図柄プロセス処理において用いられるタイマであり、特別図柄プロセス処理において、時間計測を行いたい場合に、その時間に応じた値が特別図柄プロセスタイマに設定される。
【０２３８】
また、ＣＰＵ５６は、普通図柄プロセスタイマの値が０であるか否か確認する（ステップＳ１４３）。普通図柄プロセスタイマの値が０でなければ、普通図柄プロセスタイマの値を−１する（ステップＳ１４４）。なお、普通図柄プロセスタイマは、普通図柄プロセス処理において用いられるタイマであり、普通図柄プロセス処理において、時間計測を行いたい場合に、その時間に応じた値が普通図柄プロセスタイマに設定される。なお、ここでは、特別図柄プロセスタイマおよび普通図柄プロセスタイマが例示されているが、遊技制御において他のタイマが用いられている場合には、それらのタイマもタイマ更新処理において更新される。
【０２３９】
図４３〜図４６に示された各処理はタイマ割込処理において実行される。そして、図４３〜図４６に示された各処理によって、数値データ（乱数を発生するためのカウンタのカウント値や、特別図柄プロセスタイマ等の遊技制御における動作時間を管理するための動作タイマ）が更新されている。すなわち、タイマ割込処理モジュールは、下層に、遊技装置の制御のために用いられる数値データを更新する数値データ更新処理を実行するための数値データ更新処理モジュール（この例では、乱数を発生するためのカウンタのカウント値を更新するカウンタ更新処理モジュールと動作タイマを更新するタイマ更新モジュール）を備えている。
【０２４０】
図１４に示されたメイン処理における入力情報設定処理（ステップＳ２１）において、図４７に示すように、入力情報としてのスイッチタイマの値が設定されているＲＡＭ５５の領域を読み出して、ＲＡＭ５５の他の領域に設定する複製（入力情報設定処理）が行われる。そして、遊技制御処理（ステップＳ２５〜Ｓ３１）では、入力情報設定処理によって設定された領域の値（複製情報）が参照される。
【０２４１】
なお、この実施の形態では、メイン処理における最初の段階で、入力情報としてのスイッチタイマの値のみが他の領域に設定されるようにしたが、タイマ割込処理で値が更新されるカウンタやタイマの値も、メイン処理における最初の段階で他の領域に設定され、メイン処理では、他の領域に設定された値を参照するようにしてもよい。
【０２４２】
図４８〜図５０は、遊技制御処理におけるステップＳ３１の賞球処理の一例を示すフローチャートである。すなわち、賞球処理モジュールの具体的構成例を示すフローチャートである。この実施の形態では、賞球処理では、賞球払出の対象となる入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ、カウントスイッチ２３および始動口スイッチ１４ａが確実にオンしたか否か判定されるとともに、オンしたら賞球個数を示す払出制御コマンドが払出制御基板３７に送出されるように制御し、また、満タンスイッチ４８および球切れスイッチ１８７が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板３７に送出されるように制御する等の処理が行われる。
【０２４３】
賞球処理において、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「１」を設定し（ステップＳ１５０）、スイッチタイマのアドレスのオフセットとして「９」を設定する（ステップＳ１５１）。なお、賞球処理において扱われる、スイッチタイマは、入力情報設定処理によって設定された領域の方のスイッチタイマすなわち複製情報としてのスイッチタイマである。
【０２４４】
入力判定値テーブル（図５２参照）のオフセット「１」は、入力判定値テーブルの２番目のデータ「５０」を使用することを意味する。また、各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「９」は満タンスイッチ４８に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェック処理を実行するためのスイッチオンチェックモジュールを実行する（ステップＳ１５２）。
【０２４５】
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているＲＯＭ領域である。入力判定値テーブルの構成例は図５２に示されている。図５２に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「２」、「５０」、「２５０」、「３０」、「２５０」、「１」の判定値が設定されている。また、スイッチオンチェック処理では、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【０２４６】
スイッチオンチェック処理を実行するためのスイッチオンチェックモジュールの構成例が図５１に示されている。スイッチオンチェック処理において、満タンスイッチ４８に対応するスイッチタイマの値が満タンスイッチオン判定値「５０」に一致していればスイッチオンフラグがセットされるので（ステップＳ１５３）、満タンフラグがセットされる（ステップＳ１５４）。なお、図４８には明示されていないが、満タンスイッチ４８に対応したスイッチタイマの値が０になると、満タンフラグはリセットされる。
【０２４７】
また、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「２」を設定し（ステップＳ１５６）、スイッチタイマのアドレスのオフセットとして「０Ａ（Ｈ）」を設定する（ステップＳ１５７）。入力判定値テーブルのオフセット「２」は、入力判定値テーブルの３番目のデータ「２５０」を使用することを意味する。また、各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「０Ａ（Ｈ）」は球切れスイッチ１８７に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックモジュールを実行する（ステップＳ１５８）。
【０２４８】
スイッチオンチェック処理において、球切れスイッチ１８７に対応するスイッチタイマの値が球切れスイッチオン判定値「２５０」に一致していればスイッチオンフラグがセットされるので（ステップＳ１５９）、球切れフラグがセットされる（ステップＳ１６０）。なお、図４８には明示されていないが、球切れスイッチ１８７に対応したスイッチオフタイマが用意され、その値が５０になると、球切れフラグはリセットされる。
【０２４９】
そして、ＣＰＵ５６は、払出停止状態であるか否か確認する（ステップＳ２０１）。払出停止状態は、払出制御基板３７に対して払出を停止すべき状態であることを指示する払出制御コマンドである払出停止状態指定コマンドを送出した後の状態であり、具体的には、作業領域における払出停止フラグがセットされている状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する（ステップＳ２０２）。
【０２５０】
いずれかがオン状態に変化したときには、払出停止状態フラグをセットするとともに（ステップＳ２０３）、払出停止状態指定コマンドに関するコマンド送信テーブルをセットし（ステップＳ２０４）、コマンド送信モジュール（図３６参照）を実行する（ステップＳ２０５）。ステップＳ２０４では、払出停止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定コマンドに関するコマンド送信テーブルには、後述するＩＮＴデータ、払出制御コマンドの１バイト目のデータ、および払出制御コマンドの２バイト目のデータが設定されている。なお、ステップＳ２０２において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、ステップＳ２０３〜ステップＳ２０５の処理は行われない。
【０２５１】
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する（ステップＳ２０６）。ともにオフ状態となったときには、払出停止フラグをリセットするとともに（ステップＳ２０７）、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし（ステップＳ２０８）、コマンド送信モジュールを実行する（ステップＳ２０９）。ステップＳ２０８では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するＩＮＴデータ、払出制御コマンドの１バイト目のデータ、および払出制御コマンドの２バイト目のデータが設定されている。
【０２５２】
さらに、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ２２１）、スイッチタイマのアドレスのオフセットとして「０」を設定する（ステップＳ２２２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「０」は入賞口スイッチ３３ａに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「４」をセットする（ステップＳ２２３）。そして、スイッチオンチェックモジュールを実行する（ステップＳ２２４）。
【０２５３】
スイッチオンチェック処理において、ＣＰＵ５６は、入力判定値テーブル（図５２参照）の先頭アドレスを設定する（ステップＳ２８１）。そして、そのアドレスにオフセットを加算し（ステップＳ２８２）、加算後のアドレスからスイッチオン判定値をロードする（ステップＳ２８３）。
【０２５４】
次いで、ＣＰＵ５６は、スイッチタイマの先頭アドレスを設定し（ステップＳ２８４）、そのアドレスにオフセットを加算し（ステップＳ２８５）、加算後のアドレスからスイッチタイマの値をロードする（ステップＳ２８６）。各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【０２５５】
そして、ＣＰＵ５６は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する（ステップＳ２８７）。それらが一致すれば、スイッチオンフラグをセットする（ステップＳ２８８）。
【０２５６】
この場合には、スイッチオンチェック処理において、入賞口スイッチ３３ａに対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ２２５）。そして、スイッチオンチェック処理は、スイッチタイマのアドレスのオフセットが更新されつつ（ステップＳ２３０）、最初に設定された繰り返し数分だけ実行されるので（ステップＳ２２８，Ｓ２２９）、結局、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａについて、対応するスイッチタイマの値がスイッチオン判定値「２」と比較されることになる。
【０２５７】
スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「１０」をリングバッファに設定する（ステップＳ２２６）。そして、総賞球数格納バッファの格納値に１０を加算する（ステップＳ２２７）。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【０２５８】
総賞球数格納バッファは、未払出の景品遊技媒体数を特定可能なデータの一例であり、払出制御手段に対して指示した賞球個数の累積値（ただし、払い出しがなされると減算される）が格納されるバッファであり、バックアップＲＡＭに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球個数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する、出力する払出制御コマンドに対応した賞球数の加算処理を行ってもよい。
【０２５９】
次に、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ２３１）、スイッチタイマのアドレスのオフセットとして「４」を設定する（ステップＳ２３２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「４」は始動口スイッチ１４ａに対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックモジュールを実行する（ステップＳ２３３）。
【０２６０】
スイッチオンチェック処理において、始動口スイッチ１４ａに対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ２３４）。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「６」をリングバッファに設定する（ステップＳ２３５）。また、総賞球数格納バッファの格納値に６を加算する（ステップＳ２３６）。
【０２６１】
次いで、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ２４１）、スイッチタイマのアドレスのオフセットとして「５」を設定する（ステップＳ２４２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図３９に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「５」はカウントスイッチ２３に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックモジュールを実行する（ステップＳ２４３）。
【０２６２】
スイッチオンチェック処理において、カウントスイッチ２３に対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ２４４）。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「１５」をリングバッファに設定する（ステップＳ２４５）。また、総賞球数格納バッファの格納値に１５を加算する（ステップＳ２４６）。
【０２６３】
そして、リングバッファにデータが存在する場合には（ステップＳ２４７）、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに（ステップＳ２４８）、読出ポインタの値を更新（リングバッファの次の領域を指すように更新）し（ステップＳ２４９）、賞球個数に関するコマンド送信テーブルをセットし（ステップＳ２５０）、コマンド送信モジュールを実行する（ステップＳ２５１）。
【０２６４】
ステップＳ２５０では、賞球個数に関する払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球個数に関するコマンド送信テーブルには、後述するＩＮＴデータ（０１（Ｈ））、払出制御コマンドの１バイト目のデータ（Ｆ０（Ｈ））、および払出制御コマンドの２バイト目のデータが設定されている。ただし、２バイト目のデータとして「８０（Ｈ）」が設定されている。
【０２６５】
以上のように、遊技制御手段から払出制御基板３７に賞球個数を指示する払出制御コマンドを出力しようとするときに、賞球個数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンド送信モジュールによって、賞球個数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板３７に送出される。なお、ステップＳ２４７において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。また、この実施の形態では、賞球処理において払出制御コマンドの作成とコマンド送信モジュールの実行が行われているが、コマンド作成モジュールを実行することによって、払出制御コマンドの作成および送信を行うようにしてもよい。
【０２６６】
そして、総賞球数格納バッファの内容が０でない場合、すなわち、まだ賞球残がある場合には、ＣＰＵ５６は、賞球払出中フラグをオンする（ステップＳ２５２，Ｓ２５３）。
【０２６７】
また、ＣＰＵ５６は、賞球払出中フラグがオンしているときには（ステップＳ２５４）、球払出装置９７から実際に払い出された賞球個数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う（ステップＳ２５５）。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板３５に対して、賞球ランプ５１の点灯を指示するランプ制御コマンドが送出される。
【０２６８】
この実施の形態では、払出停止中であっても（ステップＳ２０１，Ｓ２０６）、ステップＳ２２１〜Ｓ２５１の処理が実行される。すなわち、遊技制御手段は、払出停止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するためのコマンドが、払出停止状態であっても払出制御手段に伝達され、払出停止状態が解除されたときに、早めに賞球払出を開始することができる。また、遊技制御手段において、払出停止状態における入賞にもとづく賞球個数を記憶するための大きな記憶領域は必要とされない。
【０２６９】
コマンド送信モジュール（ステップＳ２０５，Ｓ２０９，Ｓ２５１）は図３６に示されたように実行される。従って、２バイト構成の払出制御コマンドが、払出制御手段３７に送信される。払出制御手段３７では、払出制御手段がＩＮＴ信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、払出制御手段３７において、確実なコマンド受信処理が行われる。なお、払出制御手段３７は、ＩＮＴ信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、ＩＮＴ信号の極性を図３０に示された場合と逆にしてもよい。
【０２７０】
また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球個数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球個数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球個数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【０２７１】
さらに、この実施の形態では、１回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球個数を示すコマンドとの双方を送出することができる。すなわち、２ｍｓ毎に起動される１回の制御期間内において、複数のコマンドを送出することができる。また、この実施の形態では、各制御手段への制御コマンド（表示制御コマンド、ランプ制御コマンド、音制御コマンド、払出制御コマンド）毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、１回のコマンド作成モジュールの実行により複数の表示制御コマンド、ランプ制御コマンドおよび音制御コマンドを送出するように構成することも可能である。すなわち、同時に（遊技制御処理すなわち２ｍｓタイマ割込処理の起動周期での意味）、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドと同時に送出されることはない。
【０２７２】
図５３は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、ＣＰＵ５６は、まず、総賞球数格納バッファの格納値をロードする（ステップＳ３８１）。そして、格納値が０であるか否か確認する（ステップＳ３８２）。０であれば処理を終了する。
【０２７３】
０でなければ、賞球カウントスイッチ用のスイッチタイマをロードし（ステップＳ３８３）、ロード値とオン判定値（この場合は「２」）とを比較する（ステップＳ３８４）。一致したら（ステップＳ３８５）、賞球カウントスイッチ３０１Ａが確かにオンしたとして、すなわち、確かに１個の遊技球が球払出装置９７から払い出されたとして、総賞球数格納バッファの格納値を１減算する（ステップＳ３８６）。
【０２７４】
また、賞球情報カウンタの値を＋１する（ステップＳ３８７）。そして、賞球情報カウンタの値が１０以上であれば（ステップＳ３８８）、賞球情報出力カウンタの値を＋１するとともに（ステップＳ３８９）、賞球情報カウンタの値を−１０する（ステップＳ３９０）。なお、賞球情報出力カウンタの値は、図１６に示された遊技制御処理における情報出力処理（ステップＳ３０）で参照され、その値が１以上であれば、賞球情報信号（出力ポート５のビット７：図３８参照）として１パルスが出力される。よって、この実施の形態では、１０個の遊技球が賞球として払い出される度に、１つの賞球信号が遊技機外部に出力される。
【０２７５】
そして、総賞球数格納バッファの格納値が０になったら（ステップＳ３９１）、賞球払出中フラグをクリアし（ステップＳ３９２）、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ５１の消灯を示すコマンドデータを設定した後（ステップＳ３９３）、ランプ制御コマンドを送出するためにコマンド送信モジュールを実行する（ステップＳ３９４）。
【０２７６】
以上のように、この実施の形態では、遊技制御用変動データ記憶手段としてのバックアップＲＡＭには未払出の景品遊技媒体数を特定可能なデータ（この例では総賞球数バッファ）が記憶され、遊技制御手段が、入賞の発生にもとづいて入賞に応じた払出予定数を用いてデータの内容を更新するとともに、賞球カウントスイッチ３０１Ａからの検出信号にもとづいてデータを更新する。具体的には、入賞の発生にもとづいて入賞に応じた払出予定数をデータに加算し（図４９，図５０におけるステップＳ２２７，Ｓ２３６，Ｓ２４５参照）、賞球カウントスイッチ３０１Ａからの検出信号にもとづいて特定される払出数をデータから減算する（ステップＳ３８５，Ｓ３８６参照）。
【０２７７】
図５４は、主基板３１におけるＣＰＵ５６周りの一構成例を示すブロック図である。図５４に示すように、電源基板９１０の電源監視回路（電源監視手段；第１の電源監視手段）からの電源断信号がバッファ回路９００を介して、ＣＰＵ５６のマスク不能割込端子（ＸＮＭＩ端子）に接続されている。従って、ＣＰＵ５６は、マスク不能割込（ＮＭＩ）処理によって遊技機への電力供給の停止の発生を確認することができる。
【０２７８】
図５４には、システムリセット回路６５も示されている。リセットＩＣ６５１は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてＣＰＵ５６を動作可能状態にする。また、リセットＩＣ６５１は、電源監視回路が監視する電源電圧と等しい電源電圧であるＶSLの電源電圧を監視して電圧値が所定値（電源監視回路が電源断信号を出力する電源電圧値よりも低い値）以下になると出力をローレベルにする。従って、ＣＰＵ５６は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【０２７９】
図５４に示すように、リセットＩＣ６５１からのリセット信号は、ＮＡＮＤ回路９４７に入力されるとともに、反転回路（ＮＯＴ回路）９４４を介してカウンタＩＣ９４１のクリア端子に入力される。カウンタＩＣ９４１は、クリア端子への入力がローレベルになると、発振器９４３からのクロック信号をカウントする。そして、カウンタＩＣ９４１のＱ５出力がＮＯＴ回路９４５，９４６を介してＮＡＮＤ回路９４７に入力される。また、カウンタＩＣ９４１のＱ６出力は、フリップフロップ（ＦＦ）９４２のクロック端子に入力される。フリップフロップ９４２のＤ入力はハイレベルに固定され、Ｑ出力は論理和回路（ＯＲ回路）９４９に入力される。ＯＲ回路９４９の他方の入力には、ＮＡＮＤ回路９４７の出力がＮＯＴ回路９４８を介して導入される。そして、ＯＲ回路９４９の出力がＣＰＵ５６のリセット端子に接続されている。このような構成によれば、電源投入時に、ＣＰＵ５６のリセット端子に２回のリセット信号（ローレベル信号）が与えられるので、ＣＰＵ５６は、確実に動作を開始する。
【０２８０】
そして、例えば、電源監視回路の検出電圧（電源断信号を出力することになる電圧）を＋２２Ｖとし、リセット信号をローレベルにするための検出電圧を＋９Ｖとする。そのように構成した場合には、電源監視回路とシステムリセット回路６５とが、同一の電源ＶSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路６５がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
【０２８１】
なお、電源監視回路とシステムリセット回路６５とが監視する電源の電圧は異なっていてもよい。
【０２８２】
ＣＰＵ５６等の駆動電源である＋５Ｖ電源から電力が供給されていない間、ＲＡＭの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、＋５Ｖ電源が復旧すると、システムリセット回路６５からリセット信号が発せられるので、ＣＰＵ５６は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップＲＡＭに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【０２８３】
なお、図５４に示す構成では、電源投入時にＣＰＵ５６のリセット端子に２回のリセット信号（ローレベル信号）が与えられるが、リセット信号の立ち上がりタイミングが１回しかなくても確実にリセット解除されるＣＰＵを使用する場合には、符号９４１〜９４９で示された回路素子は不要である。その場合、リセットＩＣ６５１の出力がそのままＣＰＵ５６のリセット端子に接続される。
【０２８４】
この実施の形態で用いられるＣＰＵ５６は、Ｉ／Ｏポート（ＰＩＯ）およびタイマ／カウンタ回路（ＣＴＣ）も内蔵している。ＰＩＯは、ＰＢ０〜ＰＢ３の４ビットおよびＰＡ０〜ＰＡ７の１バイトのポートを有する。ＰＢ０〜ＰＢ３およびＰＡ０〜ＰＡ７のポートは、入力／出力いずれにも設定できる。
【０２８５】
図５５，図５６は、電源基板９１０からの電源断信号に応じて実行される電力供給停止時処理モジュールの構成例を示すフローチャートである。電力供給停止時処理モジュールは電力供給停止時処理を実行するためのモジュールであり、マスク不能割込によって起動される。マスク不能割込が発生すると、ＣＰＵ５６に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラム（遊技プログラムモジュール）のアドレス（具体的には実行完了後の次のアドレス）を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。なお、この実施の形態では、ＣＰＵ５６に内蔵されている割込制御機構が、実行されていた遊技プログラムモジュールのアドレスに関連するプログラムアドレスデータをバックアップＲＡＭ領域に保存させるための処理を含むデータ退避処理を実行するデータ退避手段の一部を構成する。
【０２８６】
電力供給停止時処理において、ＣＰＵ５６は、ＡＦレジスタ（アキュミュレータとフラグのレジスタ）を所定のバックアップＲＡＭ領域に退避する（ステップＳ４５１）。また、割込フラグをパリティフラグにコピーする（ステップＳ４５２）。パリティフラグはバックアップＲＡＭ領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、ＣＰＵ５６が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理（図１５のステップＳ９２参照）で参照される。そして、遊技状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。つまり、電力供給停止時処理において、割込処理の実行を禁止する割込禁止状態、または、割込処理の実行を許可する割込許可状態を示す割込状態情報が、パリティフラグとしてバックアップＲＡＭに保存される。そして、遊技状態復旧処理において、保存されている割込状態情報にもとづいて、電力供給が停止したときの割込禁止状態または割込許可状態も復旧する。
【０２８７】
また、ＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ、ＩＸレジスタおよびスタックポインタをバックアップＲＡＭ領域に退避させる（ステップＳ４５４〜Ｓ４５８）。なお、ステップＳ４５１〜Ｓ４５８の処理は、電源監視手段の検出信号に応じて制御状態を復旧させるために必要なデータを変動データ記憶手段に保存させるためのデータ退避処理に相当する。
【０２８８】
次に、バックアップあり指定値（この例では「５５Ｈ」）を実行確認情報としてのバックアップフラグにストアする（ステップＳ４５９）。バックアップフラグはバックアップＲＡＭ領域に形成されている。次いで、パリティデータを作成する（ステップＳ４６０〜Ｓ４６７）。すなわち、まず、クリアデータ（００）をチェックサムデータエリアにセットし（ステップＳ４６０）、チェックサム算出開始アドレスをポインタにセットする（ステップＳ４６１）。また、チェックサム算出回数をセットする（ステップＳ４６２）。
【０２８９】
そして、チェックサムデータエリアの内容とポインタが指すＲＡＭ領域の内容との排他的論理和を演算する（ステップＳ４６３）。演算結果をチェックサムデータエリアにストアするとともに（ステップＳ４６４）、ポインタの値を１増やし（ステップＳ４６５）、チェックサム算出回数の値を１減算する（ステップＳ４６６）。ステップＳ４６３〜Ｓ４６６の処理が、チェックサム算出回数の値が０になるまで繰り返される（ステップＳ４６７）。
【０２９０】
チェックサム算出回数の値が０になったら、ＣＰＵ５６は、チェックサムデータエリアの内容の各ビットの値を反転する（ステップＳ４６８）。そして、反転後のデータをチェックサムデータエリアにストアする（ステップＳ４６９）。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、ＲＡＭアクセスレジスタにアクセス禁止値を設定する（ステップＳ４７０）。以後、内蔵ＲＡＭ５５のアクセスができなくなる。従って、電圧低下に伴ってプログラムの暴走が生じても、ＲＡＭの記憶内容が破壊されるようなことはない。
【０２９１】
さらに、ＣＰＵ５６は、クリアデータ（００）を適当なレジスタにセットし（ステップＳ４７１）、処理数（この例では「７」）を別のレジスタにセットする（ステップＳ４７２）。また、出力ポート０のアドレスをＩＯポインタに設定する（ステップＳ４７３）。ＩＯポインタとして、さらに別のレジスタが用いられる。
【０２９２】
そして、ＩＯポインタが指すアドレスにクリアデータをセットするとともに（ステップＳ４７４）、ＩＯポインタの値を１増やし（ステップＳ４７５）、処理数の値を１減算する（ステップＳ４７７）。ステップＳ４７４〜Ｓ４７６の処理が、処理数の値が０になるまで繰り返される。その結果、全ての出力ポート０〜６（図３７および図３８参照）にクリアデータが設定される。図３７および図３８に示すように、この例では、「１」がオン状態であり、クリアデータである「００」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【０２９３】
従って、遊技状態を保存するための処理（この例では、チェックサムの生成およびＲＡＭアクセス防止）が実行された後、各出力ポートは直ちにオフ状態になる。なお、この実施の形態では、遊技制御処理において用いられるデータが格納されるＲＡＭ領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのＲＡＭアクセス防止処理が、遊技状態を保存するための処理に相当する。
【０２９４】
遊技状態を保存するための処理が実行された後、直ちに各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。つまり、パチンコ遊技機のように可変入賞球装置を有している遊技機において、実装の関係上、可変入賞球装置における可変入賞口の位置と入賞を検出する入賞口スイッチの設置位置とを、ある程度離さざるを得ない。出力ポート、特に可変入賞球装置を開放状態にするための信号が出力される出力ポートを直ちにオフ状態にしないと、電力供給停止時に、可変入賞口に入賞したにもかかわらず、電力供給停止時処理の実行が開始されて入賞口スイッチの検出がなされない状況が起こりうる。その場合、可変入賞口に入賞があったことは保存されない。すなわち、実際に生じている遊技状態（入賞があったこと）と保存される遊技状態とが整合しない。しかし、この実施の形態では、出力ポートがクリアされて可変入賞球装置が閉じられるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。
【０２９５】
また、電気部品の駆動が不能になる状態になる前に実行される電力供給停止時処理の際に、出力ポートをクリアすることができるので、電気部品の駆動が不能になる状態となる前に遊技制御手段によって制御される各電気部品を、適切な動作停止状態にすることができる。例えば、開放中の大入賞口を閉成させ、また開放中の可変入賞球装置１５を閉成させるなど、電気部品についての作動を停止させたあとに電気部品の駆動が不能になる状態とすることができる。従って、適切な停止状態で電力供給の復旧を待つことが可能となる。そして、出力ポートに対するクリア処理が完了すると、ＣＰＵ５６は、待機状態（ループ状態）に入る。従って、システムリセットされるまで、何もしない状態になる。
【０２９６】
なお、この実施の形態では、ＮＭＩに応じて電力供給停止時処理が実行されたが、電源断信号をＣＰＵ５６のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【０２９７】
また、電力供給停止時処理を実行する電力供給停止時処理モジュールによって、メインモジュールやタイマ割込処理モジュールで使用していたＲＡＭ領域のデータ保存処理が行われるので、メインモジュールやタイマ割込処理モジュールと電力供給停止時処理モジュールとの間で、ＲＡＭ５５を介してデータのやりとりが実行されていることになる。さらに、一般に、割込フラグはＣＰＵ５６のレジスタ内のビットであるから、メインモジュールやタイマ割込処理モジュールと電力供給停止時処理モジュールとの間で、ＣＰＵ５６のレジスタを介したデータのやりとりも行われていることになる。
【０２９８】
図５７は、この実施の形態におけるＲＡＭ領域のアドレスマップを示す説明図である。図５７に示すように、ＲＡＭ領域の先頭はバックアップフラグの領域に割り当てられている。そして、最後部にチェックサムバッファの領域が割り当てられている。なお、バックアップフラグからチェックサムバッファまでの領域が作業領域に相当し、チェックサムバッファ以降の領域にスタック領域が設定されている。また、この実施の形態では、ＲＡＭ領域の全てが電源バックアップされている。
【０２９９】
図５８は、チェックサム作成方法の一例を説明するための説明図である。ただし、図５８に示す例では、簡単のために、バックアップＲＡＭ領域のデータのサイズを３バイトとする。電源電圧低下にもとづく電力供給停止時処理において、図５８に示すように、チェックサムデータとして初期データ（この例では００（Ｈ））が設定される。次に、「００（Ｈ）」と「Ｆ０（Ｈ）」の排他的論理和がとられ、その結果と「１６（Ｈ）」の排他的論理和がとられる。さらに、その結果と「ＤＦ（Ｈ）」の排他的論理和がとられる。そして、その結果（この例では「３９（Ｈ）」）を論理反転して得られた値（この例では「Ｃ６（Ｈ）」）がチェックサムバッファに設定される。
【０３００】
なお、図５８では、説明を容易にするために、論理反転前のデータ「３９（Ｈ）」がチェックサムバッファに格納されている様子が示されている。なお、初期データとしての００（Ｈ）はステップＳ４６０で設定されるチェックサムデータに対するクリアデータに応じた値であるが、実際には、００（Ｈ）との排他的論理和は演算前と後とで値が変わらないので、００（Ｈ）との排他的論理和演算を行わなくてもよい。
【０３０１】
この実施の形態では、チェックサムバッファは、バックアップＲＡＭ領域（変動データ記憶手段）の最後のアドレスに格納されている。従って、例えば、チェックサム作成方法のプログラムに誤りがないかどうか確認する際に、容易にその確認を行うことができる。ＲＡＭ領域の最終アドレスの値が正しいか否か確認すればよいからである。また、この実施の形態では、チェックサム算出開始アドレスはバックアップフラグが設定されるアドレスであり、チェックサム算出最終アドレスは賞球制御用フラグ・バッファのうちの最後のアドレスである（図２４参照）。従って、賞球制御用フラグ・バッファの後、すなわち、バックアップＲＡＭ領域の最後のアドレスをチェックサムバッファの領域にすれば、ＲＡＭ領域において無駄が生ずることはない。
【０３０２】
なお、確認のしやすさやＲＡＭ領域の無駄防止を考慮すると、バックアップＲＡＭ領域の最初のアドレスをチェックサムバッファの領域にしてもよい。
【０３０３】
また、遊技機への電力供給開始時にはパリティチェックＯＫか否かの判断が行われるが（図１４におけるステップＳ９）、その判断では、電力供給停止時処理におけるパリティデータの作成処理（ステップＳ４７１〜Ｓ４７７）と同様の処理が行われ、処理結果すなわち演算結果がチェックサムバッファの内容と一致したらパリティチェックＯＫと判定される。
【０３０４】
なお、ここでは、バックアップＲＡＭ領域の最後または最初のアドレスをチェックサムバッファの領域にしたが、バックアップＲＡＭ領域の中途の領域にチェックサムバッファの領域を割り当ててもよい。また、この実施の形態では、作業領域のデータにもとづいてチェックサムが生成されているが、スタック領域のデータも含めてチェックサムを生成するようにしてもよい。
【０３０５】
さらに、この実施の形態では、電力供給開始時に、電力供給停止時処理における処理と同じ処理によってチェックサムを生成し、生成されたチェックサムとバックアップＲＡＭに保存されていたチェックサムとを比較したが、他の方法を用いてもよい。例えば、バックアップＲＡＭに保存されていたチェックサムを初期値として、電力供給停止時処理において演算対象となった各データについて演算を行い、演算結果が所定値（例えば００（Ｈ））と一致したらパリティチェックＯＫと判定するようにしてもよい。また、パリティチェックのためのチェックデータはチェックサムに限られず、バックアップＲＡＭの内容が正当に保存されているかを判定できるものであれば、他のチェックデータを用いてもよい。
【０３０６】
図５９は、遊技機への電力供給停止時の電源電圧低下やＮＭＩ信号（＝電源断信号：電力供給停止時信号）の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるＶSLの電圧値は徐々に低下する。そして、この例では、＋２２Ｖにまで低下すると、電源基板９１０に搭載されている電源監視用ＩＣ９０２から電源断信号が出力される（ローレベルになる）。
【０３０７】
電源断信号は、電気部品制御基板（この実施の形態では主基板３１および払出制御基板３７）に導入され、ＣＰＵ５６および払出制御用ＣＰＵ３７１のＮＭＩ端子に入力される。ＣＰＵ５６および払出制御用ＣＰＵ３７１は、ＮＭＩ処理によって、所定の電力供給停止時処理を実行する。
【０３０８】
ＶSLの電圧値がさらに低下して所定値（この例では＋９Ｖ）にまで低下すると、主基板３１や払出制御基板３７に搭載されているシステムリセット回路の出力がローレベルになり、ＣＰＵ５６および払出制御用ＣＰＵ３７１がシステムリセット状態になる。なお、ＣＰＵ５６および払出制御用ＣＰＵ３７１は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【０３０９】
ＶSLの電圧値がさらに低下してＶcc（各種回路を駆動するための＋５Ｖ）を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板３１や払出制御基板３７では、電力供給停止時処理が実行され、ＣＰＵ５６および払出制御用ＣＰＵ３７１がシステムリセット状態とされている。
【０３１０】
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源ＶSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号（電源断検出信号）を発生する。図５９に示すように、電源断信号が出力されるタイミングでは、ＩＣ駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、ＩＣ駆動電圧で動作する主基板３１のＣＰＵ５６が所定の電力供給停止時処理を行うための動作時間が確保されている。
【０３１１】
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源ＶSLの電圧を監視したが、電源断信号を発生するタイミングが、ＩＣ駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源ＶSLの電圧でなくてもよい。すなわち、少なくともＩＣ駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。
【０３１２】
その場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧（スイッチ電圧）が＋１２Ｖであることから、＋１２Ｖ電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
【０３１３】
主基板３１に、試験信号（遊技機外部に設置された試験装置等において制御状態を検知するための信号）を出力するためのコネクタ等の試験端子を設けてもよい。例えば、２段構成の試験信号端子７２，７３，７４が設けられた場合を例にして試験信号について説明する。図６０および図６１は、第１の試験信号端子７２の１段目および２段目の６８ピンに割り当てられる試験信号配置例を示す説明図である。また、図６２および図６３は、第２の試験信号端子７３の１段目および２段目の６８ピンに割り当てられる試験信号配置例を示す説明図である。そして、図６４および図６５は、第３の試験信号端子７４の１段目および２段目の６８ピンに割り当てられる試験信号配置例を示す説明図である。
【０３１４】
図６０〜図６５に示された各試験信号において、発射球信号１，２は、遊技盤面に発射された遊技球が検出されたときにオンする信号である。例えば、図１に示された遊技盤正面において遊技領域への球出口付近に設置されているファール球止め弁の入口および出口に設けられているセンサ（図１において図示せず）の出力信号である。あるいは、センサ出力にもとづいてＣＰＵ５６が作成した信号である。また、賞球信号１〜３は、球払出装置９７から払い出された遊技球が検出されたときにオンする信号であり、例えばセンサ出力またはそれに対応した信号である。
【０３１５】
チューリップ式役物１入賞信号〜チューリップ式役物４入賞信号は、チューリップ式役物が設けられている遊技機において、その入賞口への遊技球の入賞があったときにオンする信号であり、例えばセンサ出力である。普通入賞口１入賞信号〜普通入賞口１５入賞信号は、各普通入賞口への遊技球の入賞があったときにオンする信号であり、例えばセンサ出力である。この実施の形態では、各入賞口に入賞した遊技球を検出するためのスイッチの出力信号である。
【０３１６】
連動役物１入賞信号〜連動役物４入賞信号は、連動役物が設けられている遊技機において、その入賞口への遊技球の入賞があったときにオンする信号であり、例えばセンサ出力である。特別電動役物入賞信号１〜特別電動役物入賞信号３は、大入賞口への遊技球の入賞があったときにオンする信号であり、例えばセンサ出力である。この実施の形態では、カウントスイッチ２３のオンに対応した信号が特別電動役物入賞信号１である。特定領域通過信号は、大入賞口の特定領域を遊技球が通過したことを示す信号であり、この実施の形態では、Ｖカウントスイッチ２２の出力に対応した信号が特別電動役物入賞信号１である。
【０３１７】
始動口１入賞信号〜始動口３入賞信号は、各始動入賞口への遊技球の入賞があったときにオンする信号であり、例えばセンサ出力である。この実施の形態では、始動口スイッチ１４ａの出力に対応した信号が始動口１入賞信号である。連動役物１に係るゲート通過信号〜連動役物４に係るゲート通過信号は、連動役物が設けられていた場合のそれらに関するゲートを遊技球が通過したときにオンする信号である。普通電動役物１に係るゲート通過信号〜普通電動役物４に係るゲート通過信号は、普通電動役物が設けられていた場合のそれらに関するゲートを遊技球が通過したときにオンする信号である。
【０３１８】
普通図柄に係るゲート１通過信号〜普通図柄に係るゲート３通過信号は、普通図柄の変動開始の条件となるゲートを遊技球が通過したときにオンする信号である。この実施の形態では、ゲートスイッチ３２ａの出力に対応した信号が普通図柄に係るゲート１通過信号である。特別電動役物開放信号は、大入賞口の開放開始時にオンし大入賞口の閉鎖時にオフする信号である。特別電動役物作動中信号は、特別電動役物作動開始時にオンし特別電動役物の閉鎖時にオフする信号である。普通電動役物開放信号は、普通電動役物（この実施の形態では、始動入賞口に相当）の開放開始時にオンし普通電動役物の閉鎖時にオフする信号である。普通電動役物作動中信号は、普通電動役物作動開始時にオンし普通電動役物の閉鎖時にオフする信号である。
【０３１９】
チューリップ式役物１拡大信号〜チューリップ式役物４拡大信号は、各チューリップ式役物の入口の拡大開始時にオンとなり、拡大終了時にオフとなる信号である。連動役物１開放信号〜連動役物４開放信号は、各連動役物の入口の拡大開始時にオンとなり、拡大終了時にオフとなる信号である。役物連続作動装置作動信号は、役物連続作動装置の作動開始時にオンとなり、作動終了時にオフとなる信号である。特別図柄大当り信号は、特別図柄が大当り図柄で確定したときにオンとなり大当り動作終了時にオフとなる信号であり、ソフトウェアで作成される信号である。
【０３２０】
特別図柄中当り信号は、大当り図柄ではない図柄による中当り動作（大入賞口開放時間１．５秒を越え６秒まで）開始時にオンとなり当り動作終了時にオフとなる信号である。特別図柄小当り信号は、大当り図柄ではない図柄による小当り動作（大入賞口開放時間０．５秒を越え１．５秒まで）開始時にオンとなり当り動作終了時にオフとなる信号である。特別図柄当り信号は、大当り図柄ではない図柄による当り動作（大入賞口開放時間０．５秒以下）開始時にオンとなり当り動作終了時にオフとなる信号である。普通図柄当り信号は、普通図柄が当りの組み合わせで確定したときにオンとなり、普通電動役物の動作終了時にオフとなる信号であり、ソフトウェアで作成される信号である。
【０３２１】
特別図柄保留１個目信号は特別図柄変動の作動保留数の記憶数が１個以上となっている間オンとなり、０個になるとオフする信号である。特別図柄保留２個目信号は特別図柄変動の作動保留数の記憶数が２個以上となっている間オンとなり、１個以下になるとオフする信号である。特別図柄保留３個目信号は特別図柄変動の作動保留数の記憶数が３個以上となっている間オンとなり、２個以下になるとオフする信号である。特別図柄保留４個目信号は特別図柄変動の作動保留数の記憶数が４個となっている間オンとなり、３個以下になるとオフする信号である。この実施の形態では、始動入賞記憶１〜４個目信号が特別図柄保留１個目信号〜特別図柄保留４個目信号に相当する。
【０３２２】
普通図柄保留１個目信号は普通図柄変動の作動保留数の記憶数が１個以上となっている間オンとなり、０個になるとオフする信号である。普通図柄保留２個目信号は普通図柄変動の作動保留数の記憶数が２個以上となっている間オンとなり、１個以下になるとオフする信号である。普通図柄保留３個目信号は普通図柄変動の作動保留数の記憶数が３個以上となっている間オンとなり、２個以下になるとオフする信号である。普通図柄保留４個目信号は普通図柄変動の作動保留数の記憶数が４個となっている間オンとなり、３個以下になるとオフする信号である。この実施の形態では、普通図柄始動記憶１〜４個目信号が普通図柄保留１個目信号〜普通図柄保留４個目信号に相当する。
【０３２３】
特別図柄高確率状態信号は、特別図柄に係る抽選確率が高確率状態であるときにオンする信号であり、ソフトウェアで作成される信号である。特別図柄変動時間短縮状態信号は、特別図柄に係る変動時間が短縮状態であるときにオンする信号であり、ソフトウェアで作成される信号である。普通図柄高確率状態信号は、普通図柄に係る抽選確率が高確率状態であるときにオンする信号であり、ソフトウェアで作成される信号である。普通図柄変動時間短縮状態信号は、普通図柄に係る変動時間が短縮状態であるときにオンする信号であり、ソフトウェアで作成される信号である。普通電動役物開放延長状態信号は、普通電動役物に係る開放等の時間が延長状態であるときにオンする信号である。
【０３２４】
確率変動権利信号は、確変に関する制御が行われているときにオンする信号であり、ソフトウェアで作成される信号である。例えば、確率変動権利信号は、確変判定図柄が用いられる場合に、確変判定図柄が確率変動することとなる組合せで確定したときにオンとなり、新たに大当り状態とすることが決定され大当り状態に移行するタイミングでオフする。遊技機エラー状態信号は、遊技機の異常状態が検出されたときにオンする信号である。ゲート通過信号は、連動役物に係るゲート、普通電動役物に係るゲートおよび普通図柄に係るゲート以外のゲートを遊技球が通過するとオンする信号である。
【０３２５】
確変判定図柄変動中信号は、確変判定図柄の変動中にオンする信号であり、確変判定の演出などの確変判定における制御が行われているときにオンする信号である。確変判定図柄確定信号は、例えば、遊技者に対して確変／非確変の報知を行っているときにオンする信号である。
【０３２６】
１桁目〜３桁目確変判定図柄変動中信号は、それぞれ、１桁目〜３桁目の確変判定図柄の変動中にオンする信号である。１桁目〜３桁目確変判定図柄データ信号は、それぞれ、１桁目〜３桁目確変判定図柄データｂｉｔ５〜ｂｉｔ０により、１桁目〜３桁目の確変判定図柄データを示す信号である。１桁目〜３桁目確変判定図柄色データ信号は、それぞれ、１桁目〜３桁目確変判定図柄データｂｉｔ１、ｂｉｔ０により、１桁目〜３桁目の確変判定図柄色データを示す信号である。
【０３２７】
なお、図６０〜図６５に示すように、試験信号端子７２〜７４には、上記の各信号のために設けられた端子以外に多数の予備端子が含まれている。
【０３２８】
図６６および図６７は、試験端子処理（ステップＳ３３）を示すフローチャートである。ＣＰＵ５６は、高確率状態が終了すると、試験信号端子７２から出力されている確率変動権利信号をオフする（ステップＳ８０１，Ｓ８０２）。また、確変判定図柄の変動を開始する時期（例えば、大当り遊技状態にて開閉板２０が所定回数開閉されたあと）になると、試験信号端子７４から出力される確定判定図柄変動中信号をオンする（ステップＳ８０３，Ｓ８０４）。表示図柄が３列であって左右中図柄が一斉に変動を開始する場合には、１桁目確変判定図柄変動中信号、２桁目確変判定図柄変動中信号および３桁目確変判定図柄変動中信号もオンする（ステップＳ８０５，Ｓ８０６，Ｓ８０７）。
【０３２９】
また、左右中図柄の変動中フラグをオンする（ステップＳ８０８，Ｓ８０９，Ｓ８１０）。さらに、各図柄データを作成するために、左右中図柄の変動速度を保存する（ステップＳ８１１）。ここで保存される変動速度は一般に「低速」である。
【０３３０】
ここでは、主基板３１のＣＰＵ５６すなわち遊技制御手段が、図柄変動の速度変化点で表示図柄の変動速度を変化させる制御を行う場合を考える。表示図柄に変化を加えるときには、試験信号として出力される図柄データの値を変更する。
【０３３１】
ＣＰＵ５６は、左図柄の変動中フラグがオンしていたら（ステップＳ８１２）、左表示図柄の変更タイミングとなったか否か確認する（ステップＳ８１３）、変更タイミングであれば、試験信号端子７４から出力される１桁目確変判定図柄データ（１桁目確変判定図柄データｂｉｔ０〜ｂｉｔ５）の値を変更する（ステップＳ８１４）。表示図柄の変更タイミングとなったか否かの判断は、例えば、変動速度と経過時間とにもとづいて行われる。
【０３３２】
さらに、ＣＰＵ５６は、左図柄の色を変えるときには（ステップＳ８１５）、１桁目確変判定図柄色データ（１桁目確変判定図柄色データｂｉｔ０〜ｂｉｔ１）の値を変更する（ステップＳ８１６）。そして、左図柄を差し替えるときには（ステップＳ８１７）、１桁目確変判定図柄データの値を変更する（ステップＳ８１８）。
【０３３３】
次いで、ＣＰＵ５６は、右図柄の変動中フラグがオンしていたら（ステップＳ８１９）、右表示図柄の変更タイミングとなったか否か確認する（ステップＳ８２０）、変更タイミングであれば、３桁目確変判定図柄データ（３桁目確変判定図柄データｂｉｔ０〜ｂｉｔ５）の値を変更する（ステップＳ８２１）。
【０３３４】
さらに、ＣＰＵ５６は、右図柄の色を変えるときには（ステップＳ８２２）、３桁目確変判定図柄色データ（３桁目確変判定図柄色データｂｉｔ０〜ｂｉｔ１）の値を変更する（ステップＳ８２３）。そして、右図柄を差し替えるときには（ステップＳ８２４）、３桁目確変判定図柄データの値を変更する（ステップＳ８２５）。
【０３３５】
次に、ＣＰＵ５６は、中図柄の変動中フラグがオンしていたら（ステップＳ８２６）、中表示図柄の変更タイミングとなったか否か確認する（ステップＳ８２７）、変更タイミングであれば、２桁目確変判定図柄データ（２桁目確変判定図柄データｂｉｔ０〜ｂｉｔ５）の値を変更する（ステップＳ８２８）。
【０３３６】
さらに、ＣＰＵ５６は、中図柄の色を変えるときには（ステップＳ８２９）、２桁目確変判定図柄色データ（２桁目確変判定図柄色データｂｉｔ０〜ｂｉｔ１）の値を変更する（ステップＳ８３０）。そして、中図柄を差し替えるときには（ステップＳ８３１）、２桁目確変判定図柄データの値を変更する（ステップＳ８３２）。
【０３３７】
そして、左図柄を停止させると（ステップＳ８３３）、１桁目図柄変動中信号をオフするとともに（ステップＳ８３４）、左図柄の変動中フラグをオフする（ステップＳ８３５）。また、右図柄を停止させると（ステップＳ８３６）、３桁目図柄変動中信号をオフするともに（ステップＳ８３７）、右図柄の変動中フラグをオフする（ステップＳ８３８）。
【０３３８】
なお、この実施の形態では、揺れ動作状態と確定状態とを含めて停止状態と定義している。すなわち、その状態において表示されている図柄が次の図柄に変更されることのない場合には、それを停止状態と定義している。
【０３３９】
また、中図柄を停止させると（ステップＳ８３９）、２桁目図柄変動中信号および図柄変動中信号をオフするともに（ステップＳ８４０，Ｓ８４１）、中図柄の変動中フラグをオフする（ステップＳ８４２）。さらに、試験信号端子７４から出力される図柄確定信号（確変報知確定信号）をオンする（ステップＳ８４３）。そして、確変当選した場合には（ステップＳ８４４）、確率変動権利信号をオンする（ステップＳ８４５）。また、１００ｍｓタイマをスタートしてタイムアウトしたら（ステップＳ８４６）、図柄確定信号をオフする（ステップＳ８４７）。なお、この実施の形態では、最後に停止する中図柄の停止を示す表示制御コマンドを受信したら上記の処理を行ったが、「全図柄確定」を示す表示制御コマンド（例えば、確変報知図柄停止コマンド）が用意されていれば、そのコマンドを受信したら上記の処理を行う。
【０３４０】
このように、試験用装置において特に必要とされる大当りの発生に関連する表示情報のみ（背景およびキャラクタを除く）が選別されて出力されるので、試験用装置において必要な情報のみを選択するといった処理を行わずに済み、試験効率が向上する。
【０３４１】
また、試験信号（確変判定図柄変動中信号）は可変表示開始のタイミングで出力開始されるので、始動入賞にもとづく適正な表示が開始されたのか否かを、検査用装置において直ちに認識することができる。そして、全図柄が確定した段階でそのことを示す信号（図柄確定信号）が出力されるので、検査用装置の表示を用いて、始動入賞検出にもとづく図柄変動が開始され、大当り図柄で確定した場合の大当り遊技中の処理（大入賞口開放等）が適正になされるのか否かの確認開始時点も直ちに認識することができる。
【０３４２】
以上に説明したように、上記の実施の形態では、遊技プログラムモジュールを実行するＣＰＵによって制御される遊技機において、遊技プログラムモジュールを、それぞれ階層関係にないメインモジュールと、タイマ割込処理モジュールと、電力供給停止時処理モジュールとで構成したので、各モジュール間のインタフェース（データのやりとり方法）を取り決めておけば、それぞれを独立して作成することができる。また、１つのモジュールの変更が他のモジュールに変更を及ぼさないようにすることができる。さらに、遊技プログラムモジュールは３つのモジュールに大別されているので、機能毎にモジュール化する場合に比べて、モジュール間のデータのやりとりを複雑化させないようにすることができる。
【０３４３】
なお、上記の各実施の形態のパチンコ遊技機１は、主として、始動入賞にもとづいて可変表示装置９に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第１種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第２種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第３種パチンコ遊技機であっても、本発明を適用できる。また、パチンコ遊技機に限られず、スロットマシン等においても本発明を適用することができる。
【０３４４】
【発明の効果】
以上のように、請求項１記載の発明では、遊技機を、遊技プログラムモジュールが、それぞれ階層関係にないメインモジュールと、定期的に実行可能なタイマ割込処理モジュールと、遊技機への電力供給が停止する場合に実行される電力供給停止時処理モジュールとを含み、タイマ割込処理モジュールが、遊技媒体検出手段によって出力された検出信号の入力状態を監視して、検出信号の入力状態を示す入力情報を記憶する入力情報記憶処理を含み、メインモジュールは、入力情報記憶処理によって記憶された検出信号の入力情報にもとづいて遊技装置の制御を行うための遊技装置制御処理と、制御状態を初期化するための初期化処理と、電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理とを含み、電力供給停止時処理モジュールが、遊技機への電力供給が再開した場合に制御状態を電力供給が停止する前の制御状態に復旧させるために必要なデータをバックアップ領域に保存させるためのデータ保存処理を含むように構成にしたので、機種が変更されても変更の生じないプログラムの流用を容易にすることができ、プログラム開発期間を短縮化することが可能になる効果がある。
【０３４５】
請求項２記載の発明では、メインモジュールが、タイマ割込処理モジュールの実行を禁止する区間を備えている構成であるから、割込処理に阻害されることなく、メインモジュールにおけるデータ処理を確実に実行することができる。
【０３４６】
請求項３記載の発明では、メインモジュールが、下層に、入力情報設定処理を実行するための入力情報設定処理モジュールと、遊技装置を制御する制御モジュールと、制御状態を初期化するための初期化処理をＣＰＵに実行させるための初期化処理モジュールおよび電力供給停止状態からの復帰時に制御状態を電力供給停止前の状態に復旧させるための復旧処理をＣＰＵに実行させるための復旧処理モジュールとを備えている構成であるから、メインモジュールに関して、モジュール単位でプログラムの流用が容易になることによってプログラム開発期間を短縮化することが可能になる。
【０３４７】
請求項４記載の発明では、タイマ割込処理モジュールが、下層に、入力情報記憶処理を実行するための入力情報記憶処理モジュールを備えているので、入力情報記憶処理モジュールの流用が容易になることによってプログラム開発期間を短縮化することが可能になる。
【０３４８】
請求項５記載の発明では、タイマ割込処理モジュールが、下層に、遊技装置の制御のために用いられる数値データを更新する数値データ更新処理を実行するための数値データ更新処理モジュールを備えているので、数値データの更新が定期的に確実に行われ、その結果、データ処理も確実に実行される。
【０３４９】
請求項６記載の発明では、数値データが、遊技制御における動作時間を管理するための動作タイマを含むように構成されているので、動作タイマの更新を所定期間毎に確実に行うことができ、その結果、動作タイマが確実に機能するようになるため、遊技機において実行される各種の動作において動作上のずれが生じてしまうことを防止することができる。
【０３５０】
請求項７記載の発明では、メインモジュールとタイマ割込処理モジュールとが、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成されているので、メインモジュールとタイマ割込処理モジュールとの間のデータ処理を容易かつ高速に実現できる。
【０３５１】
請求項８記載の発明では、メインモジュールと電力供給停止時処理モジュールとが、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成されているので、メインモジュールと電力供給停止時処理モジュールとの間のデータ処理を容易かつ高速に実現できる。
【０３５２】
請求項９記載の発明では、タイマ割込処理モジュールと電力供給停止時処理モジュールとが、ＲＡＭまたはＣＰＵのレジスタを介して相互間のデータのやりとりを行うように構成されているので、タイマ割込処理モジュールと電力供給停止時処理モジュールとの間のデータ処理を容易かつ高速に実現できる。
【０３５３】
請求項１０記載の発明では、データ退避処理が、少なくとも実行されていた遊技プログラムモジュールのアドレスに関連するプログラムアドレスデータをＲＡＭの所定時間は内容を保持可能な領域に保存させるための処理を含むように構成されているので、電力供給再開時の復旧処理を確実に行うことができるようになる。
【０３５４】
請求項１１記載の発明では、復旧処理が、プログラムアドレスデータにもとづいて遊技プログラムモジュールの実行を再開させる処理を含むように構成されているので、電力供給再開時の復旧処理を確実に行うことができる。
【０３５５】
請求項１２記載の発明では、データ退避処理が、少なくともデータ退避処理を実行したことを示す実行確認情報をＲＡＭの所定時間は内容を保持可能な領域に保存させるための処理を含むように構成されているので、電力供給再開時の復旧処理を確実に開始することができるようになる。
【０３５６】
請求項１３記載の発明では、復旧処理は、実行確認情報をクリアさせる処理を含むので、復旧処理が行われた後、不要な情報にもとづいて誤った処理が実行されてしまう可能性をなくすことができる。
【０３５７】
請求項１４記載の発明では、初期化処理が、実行確認情報が保存されていない場合に実行されるように構成されているので、初期化処理を行うべきであるときに初期化処理が確実に実行される。
【０３５８】
請求項１５記載の発明では、電力供給停止時処理モジュールが、所定電位の電源の出力電圧を監視し検出条件が成立した場合に検出信号を出力する電源監視手段の出力に応じて実行されるように構成されているので、ハードウェアの検出にもとづいて電力供給停止時処理を確実に実行させることができる。
【図面の簡単な説明】
【図１】  パチンコ遊技機を正面からみた正面図である。
【図２】  ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図３】  遊技機を裏面から見た背面図である。
【図４】  遊技制御基板（主基板）の回路構成例を示すブロック図である。
【図５】  図柄制御基板内の回路構成を示すブロック図である。
【図６】  ランプ制御基板内の回路構成を示すブロック図である。
【図７】  音声制御基板内の回路構成を示すブロック図である。
【図８】  払出制御基板の回路構成例を示すブロック図である。
【図９】  電源基板の回路構成例を示すブロック図である。
【図１０】  遊技プログラムモジュールの構造を示す説明図である。
【図１１】  メインモジュールとタイマ割込処理モジュールとの間のデータのやりとりを示す説明図である。
【図１２】  メインモジュールと電力供給停止時処理モジュールとの間のデータのやりとりを示す説明図である。
【図１３】  タイマ割込処理モジュールと電力供給停止時処理モジュールとの間のデータのやりとりを示す説明図である。
【図１４】  メインモジュールの具体的処理例を示すフローチャートである。
【図１５】  初期設定モジュールの具体的処理例を示すフローチャートである。
【図１６】  初期化処理モジュールの具体的処理例を示すフローチャートである。
【図１７】  復旧処理モジュールの具体的処理例を示すフローチャートである。
【図１８】  タイマ割込処理モジュールの具体的処理例を示すフローチャートである。
【図１９】  図１０に示されたモジュール構造とメイン処理との関係を示す説明図である。
【図２０】  図１０に示されたモジュール構造とタイマ割込処理との関係を示す説明図である。
【図２１】  特別図柄処理モジュールの具体的処理例を示すフローチャートである。
【図２２】  始動口スイッチ通過確認処理を示すフローチャートである。
【図２３】  可変表示の停止図柄を決定する処理およびリーチ種類を決定する処理を示すフローチャートである。
【図２４】  大当りとするか否かを決定する処理を示すフローチャートである。
【図２５】  乱数の一例を示す説明図である。
【図２６】  普通処理モジュールの具体的処理例を示すフローチャートである。
【図２７】  ゲートスイッチ処理を示すフローチャートである。
【図２８】  判定用乱数と当り／はずれとの関係を示す説明図である。
【図２９】  制御コマンドのコマンド形態の一例を示す説明図である。
【図３０】  制御コマンドを構成する８ビットの制御信号とＩＮＴ信号との関係を示すタイミング図である。
【図３１】  コマンド送信テーブルの一構成例を示す説明図である。
【図３２】  コマンドデータ２の一構成例および他の構成例を示す説明図である。
【図３３】  ＩＮＴデータの一構成例を示す説明図である。
【図３４】  コマンド送信テーブルの一構成例を示す説明図である。
【図３５】  コマンド作成モジュールの構成例を示すフローチャートである。
【図３６】  コマンド送信モジュールの構成例を示すフローチャートである。
【図３７】  出力ポートのビット割り当ての一例を示す説明図である。
【図３８】  出力ポートのビット割り当ての一例を示す説明図である。
【図３９】  入力ポートのビット割り当ての一例を示す説明図である。
【図４０】  ＲＡＭにおけるスイッチタイマの形成例を示す説明図である。
【図４１】  スイッチ処理モジュールの具体的処理例を示すフローチャートである。
【図４２】  スイッチチェック処理の一例を示すフローチャートである。
【図４３】  判定用乱数更新処理の一例を示すフローチャートである。
【図４４】  表示用乱数更新処理の一例を示すフローチャートである。
【図４５】  初期値用乱数更新処理の一例を示すフローチャートである。
【図４６】  タイマ更新処理の一例を示すフローチャートである。
【図４７】  入力情報設定処理を説明するための説明図である。
【図４８】  賞球処理モジュールの具体的処理例を示すフローチャートである。
【図４９】  賞球処理モジュールの具体的処理例を示すフローチャートである。
【図５０】  賞球処理モジュールの具体的処理例を示すフローチャートである。
【図５１】  スイッチオンチェックモジュールの構成例を示すフローチャートである。
【図５２】  入力判定値テーブルの構成例を示す説明図である。
【図５３】  賞球個数減算処理の一例を示すフローチャートである。
【図５４】  電源監視および電源バックアップのためのＣＰＵ周りの一構成例を示すブロック図である。
【図５５】  電力供給停止時処理モジュールの具体的処理例を示すフローチャートである。
【図５６】  電力供給停止時処理モジュールの具体的処理例を示すフローチャートである。
【図５７】  ＲＡＭのアドレスマップを示す説明図である。
【図５８】  チェックサム作成方法の一例を説明するための説明図である。
【図５９】  遊技機への電力供給停止時の電源低下やＮＭＩ信号の様子を示すタイミング図である。
【図６０】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６１】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６２】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６３】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６４】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６５】  主基板の試験信号端子の試験用信号配置例を示す説明図である。
【図６６】  試験端子処理を示すフローチャートである。
【図６７】  試験端子処理を示すフローチャートである。
【符号の説明】
１      パチンコ遊技機
９      可変表示装置
１０    普通図柄表示器
１５    可変入賞球装置
２０    開閉板
３１    主基板
５４    ＲＯＭ
５５    ＲＡＭ
５６    ＣＰＵ
９０２  電源監視用ＩＣ
９１０  電源基板
【図１】
0004275332.tif 000002
【図２】
0004275332.tif 000003
【図３】
0004275332.tif 000004
【図４】
0004275332.tif 000005
【図５】
0004275332.tif 000006
【図６】
0004275332.tif 000007
【図７】
0004275332.tif 000008
【図８】
0004275332.tif 000009
【図９】
0004275332.tif 000010
【図１０】
0004275332.tif 000011
【図１１】
0004275332.tif 000012
【図１２】
0004275332.tif 000013
【図１３】
0004275332.tif 000014
【図１４】
0004275332.tif 000015
【図１５】
0004275332.tif 000016
【図１６】
0004275332.tif 000017
【図１７】
0004275332.tif 000018
【図１８】
0004275332.tif 000019
【図１９】
0004275332.tif 000020
【図２０】
0004275332.tif 000021
【図２１】
0004275332.tif 000022
【図２２】
0004275332.tif 000023
【図２３】
0004275332.tif 000024
【図２４】
0004275332.tif 000025
【図２５】
0004275332.tif 000026
【図２６】
0004275332.tif 000027
【図２７】
0004275332.tif 000028
【図２８】
0004275332.tif 000029
【図２９】
0004275332.tif 000030
【図３０】
0004275332.tif 000031
【図３１】
0004275332.tif 000032
【図３２】
0004275332.tif 000033
【図３３】
0004275332.tif 000034
【図３４】
0004275332.tif 000035
【図３５】
0004275332.tif 000036
【図３６】
0004275332.tif 000037
【図３７】
0004275332.tif 000038
【図３８】
0004275332.tif 000039
【図３９】
0004275332.tif 000040
【図４０】
0004275332.tif 000041
【図４１】
0004275332.tif 000042
【図４２】
0004275332.tif 000043
【図４３】
0004275332.tif 000044
【図４４】
0004275332.tif 000045
【図４５】
0004275332.tif 000046
【図４６】
0004275332.tif 000047
【図４７】
0004275332.tif 000048
【図４８】
0004275332.tif 000049
【図４９】
0004275332.tif 000050
【図５０】
0004275332.tif 000051
【図５１】
0004275332.tif 000052
【図５２】
0004275332.tif 000053
【図５３】
0004275332.tif 000054
【図５４】
0004275332.tif 000055
【図５５】
0004275332.tif 000056
【図５６】
0004275332.tif 000057
【図５７】
0004275332.tif 000058
【図５８】
0004275332.tif 000059
【図５９】
0004275332.tif 000060
【図６０】
0004275332.tif 000061
【図６１】
0004275332.tif 000062
【図６２】
0004275332.tif 000063
【図６３】
0004275332.tif 000064
【図６４】
0004275332.tif 000065
【図６５】
0004275332.tif 000066
【図６６】
0004275332.tif 000067
【図６７】
0004275332.tif 000068