(57)【特許請求の範囲】
【請求項１】
遊技の進行に関する制御をする遊技制御手段と、
前記遊技制御手段に供給される供給電源の電圧を監視し、供給電源の電圧が所定電圧より低下したときに電断が発生したとして低下検出信号を発する電源監視手段と、
送信コマンドを記憶する送信用記憶手段を備え、前記送信用記憶手段から送信コマンドを読み出し、演出に関する制御をする副制御手段に前記送信コマンドを送信するコマンド送信手段と、
前記遊技制御手段への供給電源の電圧が前記所定電圧より低下した後もデータを保持できるデータ記憶手段と、を有し、
前記遊技制御手段は、以下の処理を実行することを特徴とする遊技機。
（ａ）  前記電源監視手段から前記低下検出信号が発せられた場合には、供給電源の電圧が低下したことを示す電源低下情報をノンマスカブル割込処理によってセットし、その後、ノンマスカブル割込前の元の処理に戻す電源低下情報セット処理、
（ｂ）  遊技を進めるためのメイン制御処理であって、
（ｂ−１）  割り込みを禁止する割込禁止処理と、
（ｂ−２）  前記割込禁止処理の後に、前記電源低下情報がセットされているか否かを判断する判断処理と、
（ｂ−３）  前記判断処理の後に、割り込みを許可する割込許可処理と、
（ｂ−４）  前記割込許可処理の後に、遊技の制御をする遊技制御処理及び遊技を進めるために必要な遊技情報を取得する遊技情報取得処理と、を繰り返し実行可能で、
（ｂ−５）  前記（ｂ−４）において、前記割込許可処理の後に前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、
前記遊技制御処理及び前記遊技情報取得処理を実行するメイン遊技処理、
（ｃ）  前記（ｂ−２）の判断処理で前記電源低下情報がセットされていると判別したときに、前記（ｂ−４）の処理で取得した遊技情報を前記データ記憶手段に記憶させる遊技情報記憶処理、
（ｄ）  前記遊技制御手段への供給電源の電圧が所定電圧より高くなったときに、電源が復帰したとして前記送信用記憶手段に記憶されている内容をクリアした後、前記（ｃ）の処理で前記データ記憶手段に記憶させた遊技情報を前記コマンド送信手段から送信コマンドとして前記副制御手段に送信する処理、及び
所定時間毎に発生する割り込みによって実行される割込処理であって、前記電源低下情報がセットされてない場合には所定の処理を実行し、前記電源低下情報がセットされている場合には前記所定の処理の実行を省略する処理。
【請求項２】
前記（ｂ−４）の処理は、
（ｂ−４−１）  前記（ｂ−３）の割込許可処理を実行した後、タイマ値が所定値以上になったか否かを判断する処理と、
（ｂ−４−２）  タイマ値が前記所定値未満であるときには、前記（ｂ−１）の処理に戻す処理と、
（ｂ−４−３）  タイマ値が前記所定値以上であるときには、前記遊技制御処理及び前記遊技情報取得処理を実行する処理と、を含み、
前記（ｂ−５）の処理は、前記（ｂ−４−３）の処理でタイマ値が前記所定値以上であるときに、前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び遊技情報取得処理を実行することを特徴とする請求項１に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電断が生じた後、電源を復旧させたときに、電断前の状態に戻す遊技機に関する。
【背景技術】
【０００２】
パチンコ機などの遊技機において、供給される電源が遮断された電断状態が生じた後に、電源を復帰させて遊技を再開する際におけるプログラム制御に関して、従来から、様々な提案がなされてきた。例えば、電源復帰時の制御処理として、以下のものが提案されていた。
【０００３】
電源復帰時には電断発生時の遊技状態を再現して、遊技を再開できるものが好ましい。このため、電断が発生したときは、メイン制御装置とサブ制御装置との間で送受信されるコマンドをメイン制御装置とサブ制御装置との双方で記憶させておき、電源復帰したときには記憶させておいたコマンドを読み出して、電断発生時の遊技状態を再現しようとした遊技機がある。このような遊技機では、メイン制御装置とサブ制御装置との双方で、コマンドの送信状況及び受信状況を確認し、受信状況に応じてコマンドを上書きするか無視するかを決定していた。すなわち、まず、電断が発生したときには、メイン制御装置では、送信済みのコマンドと未送信のコマンドとを区別して記憶させておくとともに、サブ制御装置では、受信済みのコマンドを記憶させておく。その後、電源が復帰したときに、メイン制御装置から送信したコマンドの全てが、サブ制御装置で受信できているか否かを判断し、受信できていない場合には、サブ制御装置で受信できなかったコマンドを探し出し、そのコマンドから、再びサブ制御装置に送信する処理をしていた（たとえば、特許文献１参照）。
【０００４】
また、電断が発生したときに、２バイト長のコマンドの１バイト分しか送信できていなかった場合を考慮して、電源が復帰したときには、コマンド出力ポートに設定された制御コマンドをクリアし、送信側がコマンドの先頭から再送信するようにしたものもあった（たとえば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許３８９１８０４号
【特許文献２】特開２００３−１３５７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したように、電断が発生したときに、メイン制御装置では送信済みのコマンドと未送信のコマンドとを区別して記憶させ、サブ制御装置では受信済みのコマンドを記憶させておく遊技機があった。この従来の遊技機では、電源が復帰したときに、未受信のコマンドを探し出し、そのコマンドから、再びサブ制御装置に送信を開始する必要があった。このため、メイン制御装置とサブ制御装置との間における通信の位相合わせをする必要があるとともに、未送信コマンドの管理や、送信済みと未送信との変化点を判断する必要もあり、電断時の処理や電源復帰時の処理が煩雑にならざるを得なった。
【０００７】
また、前述したように、電源が復帰したときに制御コマンドをクリアして、コマンドの先頭から再送信するようにした遊技機があった。このような従来の遊技機の場合には、通信の位相合わせの問題を解決できるものの、後述するＮＭＩ処理（ノンマスカブル処理）における問題が新たに生ずる。
【０００８】
このＮＭＩ処理における問題として次のようなものがある。メイン制御装置における割込処理には、電断割込処理（ノンマスカブル割込）とシステムタイマ割込処理（マスカブル割込）の２種類がある。電断割込処理は、電源基板が停電を検知すると電断検知信号を出力し、メイン制御装置に設けられた電断検知回路のＸＮＭＩ端子に入力されることで発生する。この電断割込処理においては、当該電断割込処理が他の処理に優先して行われ、割り込み処理発生時の遊技情報データ等がメモリに退避されてバックアップされ、所定の電圧保証時間を経過した後に電源が遮断される。ノンマスカブル割込のように最優先される割込処理によって電断処理を行う場合には、その処理の実行中に、遊技情報が更新されたようなときの処理もできるようにする必要がある。このため、予め決められたタイミングで割り込まれて実行するマスカブル割込処理に比して、プログラムが煩雑にならざるを得なかった。プログラムを小容量化するためにも予め決まった処理において割込許可をするプログラムが好ましい。
【課題を解決するための手段】
【０００９】
本発明は、前述の点に鑑みてなされたものであり、その目的とするところは、電断時及び電源復帰時における処理を簡便にするとともに、電断時や電源復帰時の処理に要する記憶容量を小さくできる遊技機を提供することにある。
【００１０】
本発明の実施の形態に係る特徴は、
遊技の進行に関する制御をする遊技制御手段と、
前記遊技制御手段に供給される供給電源の電圧を監視し、供給電源の電圧が所定電圧より低下したときに電断が発生したとして低下検出信号を発する電源監視手段と、
送信コマンドを記憶する送信用記憶手段を備え、前記送信用記憶手段から送信コマンドを読み出し、演出に関する制御をする副制御手段に前記送信コマンドを送信するコマンド送信手段と、
前記遊技制御手段への供給電源の電圧が前記所定電圧より低下した後もデータを保持できるデータ記憶手段と、を有し、
前記遊技制御手段が、以下の処理を実行することを特徴とする。
（ａ）  前記電源監視手段から前記低下検出信号が発せられた場合には、供給電源の電圧が低下したことを示す電源低下情報をノンマスカブル割込処理によってセットし、その後、ノンマスカブル割込前の元の処理に戻す電源低下情報セット処理、
（ｂ）  遊技を進めるためのメイン制御処理であって、
（ｂ−１）  割り込みを禁止する割込禁止処理と、
（ｂ−２）  前記割込禁止処理の後に、前記電源低下情報がセットされているか否かを判断する判断処理と、
（ｂ−３）  前記判断処理の後に、割り込みを許可する割込許可処理と、
（ｂ−４）  前記割込許可処理の後に、遊技の制御をする遊技制御処理及び遊技を進めるために必要な遊技情報を取得する遊技情報取得処理と、を繰り返し実行可能で、
（ｂ−５）  前記（ｂ−４）において、前記割込許可処理の後に前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び前記遊技情報取得処理を実行するメイン遊技処理、
（ｃ）  前記（ｂ−２）の判断処理で前記電源低下情報がセットされていると判別したときに、前記（ｂ−４）の処理で取得した遊技情報を前記データ記憶手段に記憶させる遊技情報記憶処理、
（ｄ）  前記遊技制御手段への供給電源の電圧が所定電圧より高くなったときに、電源が復帰したとして前記送信用記憶手段に記憶されている内容をクリアした後、前記（ｃ）の処理で前記データ記憶手段に記憶させた遊技情報を前記コマンド送信手段から送信コマンドとして前記副制御手段に送信する処理、及び
所定時間毎に発生する割り込みによって実行される割込処理であって、前記電源低下情報がセットされてない場合には所定の処理を実行し、前記電源低下情報がセットされている場合には前記所定の処理の実行を省略する処理。
【００１１】
この構成によれば、電断処理を実行するタイミングを調整するので、電源復帰処理に必要な情報を的確に取得した後に電断させることができる。また、電源が復帰したときには、送信用記憶手段に記憶されている内容をクリアするともに、記憶させていた遊技情報をコマンド送信手段から送信コマンドとして送信するだけであるので、電断時及び電源復帰時における処理を簡便にするとともに、処理に要する記憶容量を小さくできる。
【００１３】
また、この構成によれば、電源復帰後の処理に必要になる各種の情報を取得して記憶させる処理に要する時間を短くすることができ、所定の時間内、たとえば、電圧保証時間内に必要な処理を済ませて、電断処理をすることができる。
【００１４】
さらに、本発明の実施の形態に係る特徴は、
前記（ｂ−４）の処理が、
（ｂ−４−１）  前記（ｂ−３）の割込許可処理を実行した後、タイマ値が所定値以上になったか否かを判断する処理と、
（ｂ−４−２）  タイマ値が前記所定値未満であるときには、前記（ｂ−１）の処理に戻す処理と、
（ｂ−４−３）  タイマ値が前記所定値以上であるときには、前記遊技制御処理及び前記遊技情報取得処理を実行する処理と、を含み、
前記（ｂ−５）の処理は、前記（ｂ−４−３）の処理でタイマ値が前記所定値以上であるときに、前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び遊技情報取得処理を実行することである。
【００１５】
この構成によれば、電源低下情報がセットされているか否かを繰り返し判断できるタイミングを形成するとともに、所定時間経過したときには、電源低下情報がセットされている場合であっても、遊技制御処理や遊技情報取得処理を実行して、電源復帰に必要な情報を的確に取得することができる。
【発明の効果】
【００１６】
電断時及び電源復帰時における処理を簡便にするとともに、電断時や電源復帰時の処理に要する記憶容量を小さくできる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態によるパチンコ機の外観を示す正面図である。
【図２】図１に示すパチンコ機の遊技動作を処理制御する電子回路の主な構成を示すブロック図である。
【図３】電源監視ＩＣの入出力端子を示す図である。
【図４】電源監視ＩＣの動作を示すタイムチャートである。
【図５】リセットＩＣの入出力端子を示す図である。
【図６】リセットＩＣの動作を示すタイムチャートである。
【図７】メイン処理を示すフローチャートである。
【図８】メイン処理の続きの処理を示すフローチャートである。
【図９】メイン処理の続きの処理を示すフローチャートである。
【図１０】メイン処理の続きの処理を示すフローチャートである。
【図１１】メイン処理の続きの処理を示すフローチャートである。
【図１２】演出制御コマンド送信割込処理を示すフローチャートである。
【図１３】システムタイマ割込処理を示すフローチャートである。
【図１４】ノンマスカブル割込処理を示すフローチャートである。
【図１５】電断処理のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１８】
＜＜＜本発明の実施の形態の遊技機の構成及び概要＞＞＞
本発明の実施の形態の遊技機は、遊技制御手段と電源監視手段とコマンド送信手段とデータ記憶手段とを有する。
【００１９】
遊技制御手段は、遊技の進行に関する制御をする。遊技制御手段には、所定の電圧が供給電源として供給される。電源監視手段は、遊技制御手段に供給される供給電源の電圧を監視する。電源監視手段は、供給電源の電圧が所定電圧より低下したときに電断が発生したとして低下検出信号を発する。
【００２０】
コマンド送信手段は、送信コマンドを記憶するための送信用記憶手段を備える。たとえば、リングバッファによって送信用記憶手段が構成される。コマンド送信手段は、送信用記憶手段に記憶されている送信コマンドを読み出し、演出に関する制御をする副制御手段この送信コマンドを送信する。なお、演出に関する制御をする副制御手段だけでなく、遊技制御手段と通信可能に接続されている他の制御装置に送信コマンドを送信できればよい。
【００２１】
データ記憶手段は、電断が生じた後も記憶されたデータを保持することができる。本明細書においては、遊技機、たとえばパチンコ機１等への電源の供給が遮断された状態を電断状態又は電源断状態と称する。
【００２２】
遊技制御手段は、以下の処理を実行する。
【００２３】
処理（ａ）は、電源低下情報セット処理である。この電源低下情報セット処理は、電源監視手段から低下検出信号が発せられた場合にはノンマスカブル割込処理によって電源低下情報をセットする。電源低下情報は、供給電源の電圧が低下したことを示す情報である。その後、ノンマスカブル割込前の元の処理に戻す。
【００２４】
このようにすることで、低下検出信号が発せられた場合には、直ちに、電源低下情報をセットすることができる。さらに、電源低下情報をセットした後、直ちに、割り込み前の元の処理に戻ることができ、この電源低下情報セット処理による他の処理への負担を軽くすることができる。
【００２５】
処理（ｂ）は、遊技を進めるためのメイン制御処理である。このメイン制御処理は、以下の（ｂ−１）〜（ｂ−４）の処理を少なくとも１回実行する処理である。
【００２６】
（ｂ−１）の処理は、割り込みを禁止する割込禁止処理である。ここでの割込処理は、マスカブル処理であるものが好ましい。
【００２７】
（ｂ−２）の処理は、（ｂ−１）の割込禁止処理の後、電源低下情報がセットされているか否かを判断する処理である。さらに、（ｂ−３）の処理は、（ｂ−２）の判断処理の後、割り込みを許可する割込許可処理である。
【００２８】
このように、（ｂ−２）の判断処理は、（ｂ−１）の割込禁止処理と（ｂ−３）の割込許可処理との間でのみ行われる処理であり、電源低下情報がセットされているか否かを判断は、メイン制御処理におけるこの一定の処理区間のみで実行される。
【００２９】
（ｂ−４）の処理は、割込許可処理の後に、遊技制御処理及び遊技情報取得処理を実行する処理である。遊技制御処理は、遊技機における遊技の制御をするための処理である。たとえば、乱数を発生させたり、各種のセンサからの信号を受信したりして、遊技の進行を定めるための処理である。遊技情報取得処理は、遊技を進めるために必要な遊技情報を取得する処理である。
【００３０】
前述したように、メイン遊技処理は、これらの（ｂ−１）〜（ｂ−４）の処理を少なくとも１回、たとえば繰り返し実行する処理である。
【００３１】
さらに、（ｂ−４）の処理において、割込許可処理の後に（ａ）の電源低下情報セット処理を実行した場合には、（ａ）の電源低下情報セット処理から戻って、（ｂ−４）の遊技制御処理及び遊技情報取得処理を実行する。
【００３２】
（ｃ）の処理は、（ｂ−２）の判断処理で電源低下情報がセットされていると判別したときに遊技情報記憶処理を実行する処理である。この遊技情報記憶処理は、（ｂ−４）の処理で取得した遊技情報をデータ記憶手段に記憶させる処理である。このように、電源監視手段から低下検出信号が発せられたときに、直ちに電断処理を実行するのではなく、（ｂ−１）〜（ｂ−４）の処理を繰り返し実行されるメイン制御処理において、（ｂ−１）の割込禁止処理を実行してから、電源低下情報がセットされているか否かを判断し、その後、メイン制御処理から抜け出してこの遊技情報記憶処理を実行する。
【００３３】
（ｄ）の処理は、遊技制御手段への供給電源の電圧が所定電圧より高くなったとき、すなわち、電源が復帰したときに、送信用記憶手段に記憶されている内容をクリアするとともに、データ記憶手段に記憶させた遊技情報をコマンド送信手段から送信コマンドとして送信する処理である。
【００３４】
供給電源の電圧が低下したときには、電源低下情報をセットする処理のみを実行する。すなわち、供給電源の電圧が低下した場合であっても、直ちに電断処理を実行しない。したがって、メイン制御処理を実行している間に、供給電源の電圧が低下したときには、電源低下情報をセットし、その後、再びメイン制御処理に戻る。メイン制御処理に戻ったときの処理に応じて遊技情報を取得することができる。さらに、戻ったメイン制御処理で割り込みを禁止して、電源低下情報がセットされているときのみ電断処理を実行する。このように、電断処理を実行するタイミングを調整するので、電源復帰の処理に必要な情報を取得した後に電断させることができる。
【００３５】
また、電源が復帰したときには、送信用記憶手段に記憶されている内容をクリアするともに、電断処理でデータ記憶手段に記憶させていた遊技情報をコマンド送信手段から送信コマンドとして送信するだけで、電源復帰処理を済ますことができるので、電源復帰時における通信の位相合わせを容易にすることができる。また、電断が発生したときの通信コマンドの送信済み、未送信、受信済み、未受信などの送信状態を考慮せずに、電源を復帰させることができる。さらに、電断処理の実行するタイミングが予め定められているのでプログラムの処理が煩雑化することがなく、プログラムも小容量化できる。
【００３６】
また、本発明の実施の形態の遊技機は、
所定時間毎に発生する割り込みによって実行される割込処理が、前記電源低下情報がセットされてない場合には所定の処理を実行し、前記電源低下情報がセットされている場合には前記所定の処理の実行を省略するものが好ましい。
【００３７】
供給電源の電圧が低下したときには、処理を簡略化して、必要な処理のみを実行することによって、処理に要する時間を短くすることができる。このようにすることで、電源復帰後の処理に必要になる必要最低限の各種の情報のみを的確に取得して記憶させることができる。したがって、供給電源の電圧が低下したときには、所定の時間内、たとえば、電圧保証時間内に必要最低限の処理を済ませて、電断に対応することができる。
【００３８】
さらに、本発明の実施の形態の遊技機では、
前記（ｂ−４）の処理が、
（ｂ−４−１）  前記（ｂ−３）の割込許可処理を実行した後、タイマ値が所定値以上になったか否かを判断する処理と、
（ｂ−４−２）  タイマ値が前記所定値未満であるときには、前記（ｂ−１）の処理に戻す処理と、
（ｂ−４−３）  タイマ値が前記所定値以上であるときには、前記遊技制御処理及び前記遊技情報取得処理を実行する処理と、を含み、
前記（ｂ−５）の処理が、前記（ｂ−４−３）の処理でタイマ値が前記所定値以上であるときに、前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び遊技情報取得処理を実行するものが好ましい。
【００３９】
タイマ値が所定値未満であるときには、（ｂ−１）の処理に戻すので、電源低下情報がセットされているか否かを繰り返し判断できる。したがって、供給電源の電圧が所定電圧より低下したか否かを的確に判断することができる。また、タイマ値が所定値以上であるときには、電源低下情報がセットされている場合であっても、遊技制御処理や遊技情報取得処理を優先的に実行して、電源復帰に必要な情報を的確に取得することができる。
【００４０】
前述したように、処理（ａ）は、電源監視手段から低下検出信号が発せられた場合に、ノンマスカブル割込処理によって電源低下情報をセットし、その後、割り込み前の元の処理に戻る処理が好ましい。タイマ値が所定値未満であるときに、ノンマスカブル割込処理から戻った場合には、処理（ｂ−４−２）によって処理（ｂ−１）に戻り、処理（ｂ−２）によって電源低下情報がセットされているか否かを判断する。これに対して、タイマ値が所定値以上であるときに、ノンマスカブル割込処理から戻った場合には、処理（ｂ−４−３）によって遊技情報取得処理を実行する。したがって、電源監視手段から低下検出信号が発せられた場合であっても、直ちに電断処理を実行するのではなく、処理（ｂ−４−３）を優先して、遊技情報を取得してから電断処理を実行する。
【００４１】
すなわち、供給電源の電圧が所定電圧より低下しても直ちに電断処理を実行するのではなく、電断処理をする前に遊技情報を一通り取得してから電断処理を実行する。特に、電圧保証時間内に遊技情報を一通り取得できるようにすることで、遊技情報の内容を有効なものにできる。ここで、電圧保証時間は、遊技制御手段を正常に動作させることができる範囲の電源電圧を遊技制御手段に供給できる時間である。このように、遊技制御手段が正常に動作している電圧保証時間内に、すなわち、遊技制御手段が安定した状態である時間内に遊技情報を一通り取得するので、処理（ｂ−４）の遊技情報取得処理によって取得した遊技情報の全ての内容を有効なものとして扱うことができる。
【００４２】
このように、全ての内容が有効な遊技情報を取得しておくことで、電源回復の処理において、取得しておいた遊技情報を読み出して用いることにより、電断処理をする前の電圧保証時間内の状態を再現することができる。すなわち、処理（ｄ）によって、電源回復の処理では、電源回復時点で送信用記憶手段に記憶されていた遊技情報を全てクリアし、データ記憶手段に記憶させた遊技情報をコマンド送信手段から送信コマンドとして送信する。電源回復時点で送信用記憶手段に遊技情報が記憶されていたとしても、電断によって送信用記憶手段が不安定になり送信用記憶手段の内容が変質（後述する、作業領域の損傷）する場合がある。このような場合であっても、送信用記憶手段を全てクリアするので、変質した送信用記憶手段の内容を用いることがなく、不適切な内容がコマンドとして送信されることを防止できる。
【００４３】
前述したように、処理（ｂ−４）の遊技情報取得処理によって取得した遊技情報の全ての内容は有効であるので、送信用記憶手段を一旦初期化し、取得した遊技情報をコマンド送信手段から改めて送信するだけで、電断処理をする前の状態を再現することができ、電源回復の処理を簡便にかつ容易にすることができるとともに、処理に必要なプログラムの容量を小さくできる。このように、電断によって送信用記憶手段が不安定になり送信用記憶手段の内容が変質した場合であっても、その影響を受けることなく、電断処理をする前の状態を容易に再現することができる。
【００４４】
より具体的に、本発明の実施の形態の遊技機について以下に説明をする。
電源装置が電圧低下を検知すると電断検知信号をメイン制御装置のＮＭＩ端子（ノンマスカブル端子）に出力する。メイン制御装置は電断検知信号が入力されると、ノンマスカブル割込処理を行い、ＮＭＩフラグをセットするとともに、メイン処理内における所定の処理にて電断処理を行う。このメイン処理内における所定の処理とは、所定の周期で繰り返し実行されるメイン遊技処理におけるシステムタイマ経過後処理の実行前に行われる。システムタイマ経過後処理とは、システムタイマのタイマ値が所定以上となった後に実行される処理である。
【００４５】
また、電断処理が実行される前に割り込みが禁止され、ＮＭＩフラグの確認処理、電断処理、初期値乱数更新処理が行われた後に再び割り込みが許可されるようになっている。このように、電断処理が実行されるのは、メイン処理内の所定の処理部分のみであるので、電断処理がプログラムの不特定の場所で割り込まれるものに比してプログラムを簡素化することができる。
【００４６】
さらに、電断処理が実行されるのは、メイン処理内の所定の処理部分のみであるので、電断が発生したときに最新の遊技情報を取得しておくことで、電断処理に備えることができる。例えば、特別図柄制御処理の実行中に電断が発生したような場合には、従来の遊技機では、電断の発生後、直ちに電断処理が実行され、その時点での遊技情報がバックアップされたうえで電断に備えることになる。一方、本発明による遊技機は、特別図柄制御処理の実行中にＮＭＩフラグがセットされた場合でも直ちに電断処理は実行せず、特別図柄制御処理の後に、普通図柄制御処理等のメイン遊技処理を実行してから予め定められた所定の処理にて電断処理を実行する。このように、メイン遊技処理を一周実行して最新情報を取得してから電断処理に備えることができるので従来の遊技機に比して、電断時の遊技情報をより正確にバックアップすることができる。
【００４７】
なお、ＮＭＩフラグがセットされてからメイン遊技処理を一周実行して電断処理を行うまでの時間は、電圧保証時間内になるようにプログラムが組まれている。
【００４８】
具体的には、ノンマスカブル割込でない所定時間毎に実行される割込処理（たとえば、演出制御コマンド送信割込処理、システムタイマ割込処理など）においては、ＮＭＩフラグがセットされた以降は処理を行わず、これらの割込処理から直ちに戻るようにしている。これにより、電断が発生した以降に遊技情報が更新されることがないので、電断が発生した時点の遊技情報を最新の遊技情報として保持させることができる。また、ＮＭＩフラグがセットされた後は、演出制御コマンド送信割込処理やシステムタイマ割込処理などの割込処理から直ちに戻るようにした。このため、遊技情報を取得する処理を短時間で済ませることができ、電圧保証時間を超えることがないので、安定した状態で遊技情報を取得することができる。
【００４９】
また、リセットＩＣへの入力電圧が所定値を超えると電源復旧処理が行われる。この電断復旧処理においては、通信データ格納領域のクリア処理、すなわちリングバッファのクリア処理が行われる。そして、電断復帰コマンド送信予約処理において、電源復帰時のコマンドが送信される。ここで、電断時に取得した最新の遊技情報をパラメータとして付加して送信することになる。
【００５０】
このようにしたことにより、電源復帰時における通信の位相合わせを容易にすることができる。たとえば、メイン制御装置とサブ制御装置との間で行われる通信の位相合わせを容易にすることができる。また、Ｎバイトからなるコマンドを送信している最中に電断が発生したときには、送信途中の未送信部分や、リングバッファ上に残っている未送信コマンドが生じる場合がある。このような場合であっても、電源を復帰するときに初期化（リングバッファのクリア）し、最新の遊技情報をパラメータとして電断復帰コマンドに付加して送信することで、送信済みのコマンドを再び送信することなどの電断によって生ずる不具合を防止することができる。
【００５１】
＜＜＜パチンコ機１の構成＞＞＞
図１は、本実施の形態によるパチンコ機１の正面図である。
【００５２】
パチンコ機１の正面には遊技盤２が設けられている。遊技球であるパチンコ球が遊技盤２を流下する。遊技盤２の表面には多数の釘が植設されている。釘は、遊技盤２を流下するパチンコ球の流下方向を変化させる。図１には、一部の釘のみを示した。遊技盤２の下方には上皿３が設けられている。上皿３の下方右側には、発射ハンドル５が設けられている。発射ハンドル５は、レール４を介して遊技盤２へパチンコ球を打ち込む際に遊技者によって操作される。遊技盤２の上方には枠上部飾りランプ６が設けられている。
【００５３】
遊技盤２の盤面中央には、特別図柄表示装置１０が設けられている。特別図柄表示装置１０は、液晶表示装置からなり、特別図柄を識別情報として３列に変動表示する。特別図柄表示装置１０の上方には、普通図柄を構成する緑色ＬＥＤ（発光ダイオード）及び赤色ＬＥＤが左右に並設された普通図柄表示装置１１が設けられている。普通図柄表示装置１１の左右には４つのＬＥＤからなる普通図柄始動記憶個数表示部１３が設けられている。特別図柄表示装置１０の下側には４つのＬＥＤからなる特別図柄始動記憶個数表示部１２が設けられている。特別図柄表示装置１０の左右には普通図柄始動通過口を構成する通過ゲート１４が設けられている。特別図柄表示装置１０の下方には特別図柄始動入賞口を構成する普通電動役物１５が設けられている。
【００５４】
上皿３の上方には、球貸しボタン７ａ、返却ボタン７ｂ（図示せず）、選択ボタン７ｃ（図示せず）及び決定ボタン７ｄ（図示せず）が設けられている。球貸しボタン７ａは、パチンコ球の貸し出しを受けるときに遊技者によって操作される。パチンコ機１には、カードユニット６５（図２参照）が併設されている。パチンコ球は、カードユニット６５に挿入されたプリペイドカードの残高の範囲内で貸し出される。返却ボタン７ｂは、カードユニット６５に挿入されているカードを返却させるときに操作される。選択ボタン７ｃは、特別図柄表示装置１０に表示される情報項目を選択するときに操作される。決定ボタン７ｄは、特別図柄表示装置１０に表示される情報項目を決定するときに操作される。
【００５５】
＜＜電子回路の構成＞＞
図２は、本実施の形態によるパチンコ機１の遊技動作を処理制御する電子回路の主な構成を示すブロック図である。
【００５６】
この電子回路は、主制御回路、副制御回路、発射制御回路及び払出制御回路などから構成されている。主制御回路は主制御基板３０に設けられている。副制御回路は副制御基板４０に設けられている。発射制御回路は発射制御基板６０に設けられている。払出制御回路は払出制御基板６１に設けられている。主制御基板３０は、遊技盤２におけるパチンコ遊技の進行に関する電気的制御を行う遊技制御基板である。副制御基板４０は、主制御基板３０からの制御信号及び遊技情報に基づいて、各種演出装置による遊技演出の電気的制御を行う演出制御基板である。発射制御基板６０の発射制御回路及び払出制御基板６１の払出制御回路は、主制御基板３０からの制御信号及び遊技情報に基づいて、パチンコ球の発射や賞球及び貸球の払い出しを制御する。
【００５７】
主制御基板３０には、遊技処理を制御する制御手段としてメインＣＰＵ３１が実装されている。メインＣＰＵ３１は、メインＲＯＭ（リードオンリメモリ）３３やメインＲＡＭ（ランダムアクセスメモリ）３４を内蔵している。メインＲＯＭ３３には、パチンコ機１の遊技動作を処理制御するためのプログラムが記憶格納されている。メインＲＡＭ３４は、スタックエリアを有する記憶手段を構成する。スタックエリアには、メインＣＰＵ３１の制御に用いられるレジスタの値が退避される。
【００５８】
前述した例では、メインＲＯＭ３３及びメインＲＡＭ３４をメインＣＰＵ３１に内蔵させる構成を示した。このような構成の他に、リードオンリメモリやランダムアクセスメモリを、メインＣＰＵ３１とは別に設けて、入出力バス（図示せず）を介してメインＣＰＵ３１に接続する構成にしてもよい。このような構成とした場合でも、所望のプログラムやデータを読み出したり、各種のデータを書き込んだりすることができる。
【００５９】
本実施の形態では、電源監視ＩＣ７１は、供給電源の電圧の低下を検出したときには、電断検知信号Ｄの電圧レベルをハイレベル（Ｈ）からローレベル（Ｌ）に低下させることで、供給電源の電圧が所定の電圧に低下したことを電断検知信号Ｄによって示す。電断検知信号Ｄは、メインＣＰＵ３１のＮＭＩ端子に入力される。電断検知信号Ｄの電圧レベルがハイレベル（Ｈ）からローレベル（Ｌ）に立下がったときには、ノンマスカブル割込処理が実行される（図１４参照）。具体的には、後述するようにメイン遊技処理が定常的に実行されている間に、電断検知信号Ｄの電圧レベルがハイレベル（Ｈ）からローレベル（Ｌ）に立下がったときには、処理は、メイン遊技処理からノンマスカブル割込処理に一時的に移される（図１４参照）。
【００６０】
このノンマスカブル割込処理によって、ＮＭＩフラグがセットされる（ステップＳ１４１３）。このように、本実施の形態では、供給電源の電圧が所定の電圧に低下したときには、ＮＭＩフラグをセットする処理のみを実行する。また、電断検知信号ＤをメインＣＰＵ３１のＮＭＩ端子に入力したので、電断検知信号Ｄの電圧レベルがハイレベル（Ｈ）からローレベル（Ｌ）に立下がったときには、ノンマスカブル割込処理を必ず実行することができ、ＮＭＩフラグを的確にセットできる。
【００６１】
ノンマスカブル割込処理を実行した後、メイン遊技処理に戻り、復旧するために必要な遊技情報データを取得し、取得した遊技情報データを記憶させる（後述するステップＳ１１１１〜Ｓ１１２７の各々の処理）。続いて、メイン遊技処理において、割り込みを禁止した後（ステップＳ１０１１）、ＮＭＩフラグがセットされている場合には（ステップＳ１０１５）、電断処理を実行する（ステップＳ１０１７）。また、ＮＭＩフラグがセットされていない場合には（ステップＳ１０１５）、割り込みを許可し（ステップＳ１０２１）、メイン遊技処理を続行する。このように、電断処理を実行するタイミングを調整しているので、電断が発生したときでも、メイン遊技処理に一旦戻って、システムタイマ経過後処理（ステップＳ１１１１〜Ｓ１１２７）を実行することができ、電断が発生したときの最新のデータとして遊技情報データを一通り取得することができる。
【００６２】
このように、本実施の形態では、電断検知信号が出力されたときに、その時点で既に収集している遊技情報データを直ちに保存するのではなく、一旦、メイン遊技処理に戻ってから、必要な遊技情報データを一通り収集し、その遊技情報データをメインＲＡＭ３４に保存する。なお、メイン遊技処理に戻って、遊技情報データを一通り収集して、その遊技情報データをメインＲＡＭ３４に保存するまでの時間は、後述する電圧保証時間内であればよい。後述するように、メインＲＡＭ３４は、電断が発生して電源が供給されていない場合でも、バックアップ電源（大容量コンデンサ）によって記憶内容が保持される。
【００６３】
その後、電断から復旧させるときには、まず、通信データ格納領域をクリアする（ステップＳ８１５）。このようにすることで、電断によって生じた不適切なコマンドが、副制御回路（副制御基板４０）に送信されることを防止することができる。また、電源が復旧したときには、電断が生じたときに取得した遊技情報データ（最新情報）を副制御回路に送信するので（ステップＳ８２３）、副制御回路は、電断が生じたときにおける各種の遊技情報データの全てを受け取ることができ、副制御回路を電断時（電断前）の状態に的確に戻すことができる。
【００６４】
パチンコ機１は電源基板７０を有する。電源基板７０には、供給電源として電源回路が備えられている。電源回路には、ＡＣ２４Ｖが入力される。電源回路は、入力されたＡＣ２４Ｖを直流電源に変換し、主制御基板３０、副制御基板４０、発射制御基板６０、払出制御基板６１等に供給する。
【００６５】
＜バックアップ電源（大容量コンデンサ）＞
電源基板７０には、バックアップ電源として機能する大容量のコンデンサが搭載されている（図示せず）。このコンデンサは、メインＣＰＵ３１の図示しないバックアップ端子ＶＢＢに接続されている。このコンデンサは、電源が供給されている間（電源供給時）に充電される。一方、電源が供給されていない間（電源供給が遮断された電断時）には、充電されたコンデンサから５［Ｖ］の電圧が、バックアップ端子ＶＢＢを介して、バックアップ電源としてメインＣＰＵ３１に供給される。このようにすることで、電源が供給されていない間でも、コンデンサからのバックアップ電源によって、メインＣＰＵ３１のメインＲＡＭ３４の記憶内容を保持することができる。メインＲＡＭ３４はスタックエリアを有している。電源が供給されていないときには、スタックエリアにレジスタ値を退避させることで、レジスタの内容を保持することができる。
【００６６】
メインＣＰＵ３１のメインＲＡＭ３４が「データ記憶手段」に相当し、「遊技を進めるために必要な遊技情報」が記憶される。電断が発生して電源が供給されていない場合でも、バックアップ電源（大容量コンデンサ）によって「遊技情報」は保持される。
【００６７】
また、電源が遮断された場合には、直ちに、供給電圧がゼロになるのではなく、電圧保証時間内においては、主制御基板３０（遊技制御手段）を正常に動作させることができる範囲の電源電圧を主制御基板３０に供給する。このように、電圧保証時間は、主制御基板３０を正常に動作させることができる範囲の電源電圧を主制御基板３０に供給できる時間である。電圧保証時間は、電源基板７０を構成するコンデンサ（図示せず）の容量や主制御基板３０の消費電力に応じて定まる。したがって、電源基板７０を構成するコンデンサの容量を適宜変更することで電圧保証時間を決定することができる。
【００６８】
＜電源監視ＩＣ７１（電源監視手段）＞
電源基板７０には、電源監視手段として電源監視ＩＣ７１が実装されている。電源監視ＩＣ７１は、電源回路が出力する供給電源の電圧を監視する。電源監視ＩＣ７１は、供給電源の電圧が所定の電圧よりも低下したときには、主制御基板３０のメインＣＰＵ３１と、払出制御基板６１の払出制御ＣＰＵ６８とに、供給電源の電圧が所定の電圧に低下したことを示す電断検知信号Ｄを出力する。
【００６９】
図３は、電源監視ＩＣ７１の端子の構成を示す図である。電源監視ＩＣ７１は、ＶＳＢ端子及びＲＥＳＥＴ端子を有する。ＲＥＳＥＴ端子は、主制御基板３０のメインＣＰＵ３１と、払出制御基板６１の払出制御ＣＰＵ６８との各ＮＭＩ端子に接続されている。
【００７０】
電源基板７０の電源回路は、定常状態では、供給されたＡＣ２４Ｖに基づいて、電圧３３[Ｖ]の供給電源を生成する。電源回路から出力される供給電源の電圧が１７．２[Ｖ]よりも下回った場合には、図４（ａ）に示すように、電源監視ＩＣ７１のＶＳＢ端子に入力される電源電圧Ｖも３３[Ｖ]から１７．２[Ｖ]よりも低くなる。電源監視ＩＣ７１は、ＶＳＢ端子に入力される電源電圧Ｖが低下したことによって、供給電源の電圧の低下を検出する。電源監視ＩＣ７１は、供給電源の電圧の低下を検出したときには、図４（ｂ）に示すように、電断検知信号Ｄの電圧レベルをハイレベル（Ｈ）からローレベル（Ｌ）に低下させて、電断検知信号ＤをＲＥＳＥＴ端子から出力する。電断検知信号Ｄは、前述した検出信号として、メインＣＰＵ３１や払出制御ＣＰＵ６８などの各ＮＭＩ端子に出力される。メインＣＰＵ３１及び払出制御ＣＰＵ６８は、これらのＮＭＩ端子に入力された電断検知信号Ｄの立下りを検出すると、ノンマスカブル処理（図１４参照）を実行する。
【００７１】
また、電源が投入されたり復帰されたりして、電源電圧Ｖの値が１７．２[Ｖ]を上回ったときには、電源監視ＩＣ７１のＣＴ端子（図３参照）に接続されたコンデンサの充電が開始される。コンデンサが充電されてＣＴ端子に出力される電圧が所定の電圧まで上昇すると、図４（ｂ）に示すように、電断検知信号Ｄは、電源電圧Ｖの値が１７．２[Ｖ]を上回った後、所定時間遅れて、電圧レベルがローレベル（Ｌ）からハイレベル（Ｈ）に上がる。
【００７２】
メインＣＰＵ３１は、アクセス許可制御手段を構成する。メインＣＰＵ３１は、電源回路から電源供給が開始されて制御を開始した後、電源監視ＩＣ７１のＲＥＳＥＴ端子からＮＭＩ端子に入力された電断検知信号Ｄを監視する。メインＣＰＵ３１は、電断検知信号Ｄの立下りがあったことを検出した場合には、定常状態で３３[Ｖ]である供給電源の電圧が、所定の電圧、すなわち１７．２[Ｖ]よりも低下しない状態を確保して、メインＲＡＭ３４へのアクセスを許可する（図７のステップＳ７１９参照）。
【００７３】
なお、定常状態で３３[Ｖ]である供給電源の電圧の低下を検出する閾値を１７．２[Ｖ]としたのは、次の理由による。パチンコ機１においては、遊技球の検出のために、後述する各スイッチ１４ｓ、１５ｓ及び１６ｓを用いる。これらのスイッチ１４ｓ、１５ｓ及び１６ｓから電圧信号が出力されてメインＣＰＵ３１へ入力される。メインＣＰＵ３１は、入力された電圧信号の電圧レベルがハイレベル（Ｈ）からローレベル（Ｌ）と立下がったことによって、各スイッチ１４ｓ、１５ｓ又は１６ｓが遊技球を検出したと判断する。これらのスイッチ１４ｓ、１５ｓ及び１６ｓから出力される電圧信号の電圧は、ハイレベル（Ｈ）で１２[Ｖ]である。したがって、定常状態で３３[Ｖ]である供給電源の電圧が１２[Ｖ]を下回ったときには、スイッチ１４ｓ、１５ｓ及び１６ｓでのスイッチ入力が無いにもかかわらず、スイッチ入力があったと誤って検出する場合がある。このため、供給電源の低下を検出するための閾値ＶＳＨを１２[Ｖ]よりも高い１７．２[Ｖ]とすることによって、このような誤検出を防止している。
【００７４】
＜リセットＩＣ３２＞
図２に示すように、メインＣＰＵ３１はＳＲＳＴ端子を有する。このＳＲＳＴ端子は、主制御基板３０に実装されているリセットＩＣ３２のＲＥＳＥＴ端子に接続されている。
【００７５】
図５は、リセットＩＣ３２の端子の構成を示す図である。図５に示すように、リセットＩＣ３２は、ＶＣＣ端子、ＣＫ端子、ＴＣ端子、ＲＥＳＥＴ端子などの端子を有する。ＶＣＣ端子には、図６（ａ）に示す入力電圧Ｖｃｃが印加される。ＣＫ端子には、図６（ｂ）に示すウォッチドッグクリア信号Ｃが入力される。ＴＣ端子には、０．２２[μＦ]のコンデンサが充電されることによって、図６（ｃ）に示すウォッチドッグタイマ信号Ｔが入力される。ＲＥＳＥＴ端子は、システムリセット信号ＲをメインＣＰＵ３１に出力する。
【００７６】
リセットＩＣ３２のＶＣＣ端子には、定常状態では、電源基板７０の電源回路から５[Ｖ]の入力電圧Ｖｃｃが供給される。このＶＣＣ端子に印加される入力電圧Ｖｃｃが４．３[Ｖ]を上回った場合（図６（ａ）参照）には、図６（ｃ）に示すように、リセットＩＣ３２のＴＣ端子に接続されたコンデンサに充電が開始される。さらに、ＴＣ端子に入力されるウォッチドッグタイマ信号Ｔは、コンデンサへの充電が開始された後、遅延時間を経過したときに所定電圧に達する（図６（ｃ）参照）。この遅延時間は、ＴＣ端子に接続されたコンデンサの容量によって定めることができる。たとえば、ＴＣ端子に接続されたコンデンサの容量０．２２[μＦ]を１０００倍した値を、遅延時間２２０[ｍｓｅｃ]とすることができる。
【００７７】
ウォッチドッグタイマ信号Ｔがこの所定電圧に達すると、図６（ｄ）に示すように、リセットＩＣ３２は、そのＲＥＳＥＴ端子から出力するシステムリセット信号Ｒの電圧レベルをローレベル（Ｌ）からハイレベル（Ｈ）にする。システムリセット信号ＲはメインＣＰＵ３１のＳＲＳＴ端子に入力される。メインＣＰＵ３１のＳＲＳＴ端子に入力されたシステムリセット信号Ｒの電圧レベルがローレベル（Ｌ）からハイレベル（Ｈ）になったことによって、メインＣＰＵ３１のシステムリセット状態が解除される。メインＣＰＵ３１のシステムリセット状態が解除されると、メインＣＰＵ３１はメインＲＯＭ３３に記憶されたプログラムに従って後述するメイン処理（図７〜図１１参照）の制御を開始する。
【００７８】
メインＣＰＵ３１は、その制御を開始すると、後述するシステムタイマ割込処理（図１３参照）を２[ｍｓｅｃ]毎に実行する。メインＣＰＵ３１は、このシステムタイマ割込処理によって、図６（ｃ）に示すように、リセットＩＣ３２のＣＫ端子にウォッチドッグクリア信号Ｃを出力する。このウォッチドッグクリア信号Ｃは、システムタイマ割込処理によって２[ｍｓｅｃ]毎に電圧レベルがハイレベル（Ｈ）とローレベル（Ｌ）とに交互に変化する信号である。ウォッチドッグタイマ信号Ｔは、リセットＩＣ３２のＣＫ端子に入力されるウォッチドッグクリア信号Ｃの立ち下がり変化時（ハイレベル（Ｈ）→ローレベル（Ｌ））にリセットされて、電圧レベルがゼロに低下する（図６（ｃ）参照）。その後、ウォッチドッグタイマ信号Ｔの電圧レベルは、ＴＣ端子に接続されているコンデンサへの充電に伴って再度上昇する。さらにその後に、リセットＩＣ３２のＣＫ端子に入力されるウォッチドッグクリア信号Ｃによって、ウォッチドッグタイマ信号Ｔは再びリセットされる。その後、ウォッチドッグタイマ信号Ｔの電圧レベルがゼロに低下した後、再度コンデンサの充電に伴って電圧レベルを再度上昇させる。
【００７９】
したがって、ウォッチドッグクリア信号Ｃが、システムタイマ割込処理によってメインＣＰＵ３１から出力されて、リセットＩＣ３２のＣＫ端子に入力されている限り、ウォッチドッグタイマ信号Ｔは所定電圧に達しない。この場合に、システムリセット信号が、リセットＩＣ３２のＲＥＳＥＴ端子から出力されて、メインＣＰＵ３１のＳＲＳＴ端子に入力されることはない。
【００８０】
これに対して、メインＣＰＵ３１の制御が何らかの原因によって暴走したときには、ウォッチドッグクリア信号Ｃは、メインＣＰＵ３１から出力されず、リセットＩＣ３２のＣＫ端子に入力されなくなる。このような場合には、図６（ｃ）に示すように、ウォッチドッグタイマ信号Ｔは、所定電圧に達し、これによって、図６（ｄ）に示すように、システムリセット信号Ｒの電圧レベルはハイレベル（Ｈ）からローレベル（Ｌ）に変化する。
【００８１】
システムリセット信号Ｒは、メインＣＰＵ３１のＳＲＳＴ端子に入力される。システムリセット信号Ｒの電圧レベルの変化（ハイレベル（Ｈ）→ローレベル（Ｌ））によって、メインＣＰＵ３１に所定時間システムリセットがかけられる。システムリセットにより、メインＣＰＵ３１は処理をプログラムの先頭に戻し、メイン処理を再開する。すなわち、メインＣＰＵ３１が暴走したときには、自動的にシステムリセットがかかってメインＣＰＵ３１の処理が再開される。
【００８２】
図２に示すように、メインＣＰＵ３１には、Ｉ／Ｏポート（入出力ポート）３５と、コマンド出力ポート３６とが接続されている。Ｉ／Ｏポート３５は、後述する各種スイッチやソレノイド等の周辺装置とメインＣＰＵ３１との間で信号を授受するためのものである。また、コマンド出力ポート３６は、副制御基板４０の副制御回路や、発射制御基板６０の発射制御回路や、払出制御基板６１の払出制御回路に、制御信号や遊技情報を含んだコマンドを出力するためのものである。Ｉ／Ｏポート３５及びコマンド出力ポート３６を介して、メインＣＰＵ３１から送出される制御信号や遊技情報が、副制御基板４０、発射制御基板６０及び払出制御基板６１等の各制御基板や周辺装置に送信される。
【００８３】
＜各種のスイッチ＞
主制御基板３０には、通過ゲートスイッチ１４ｓや始動入賞口スイッチ１５ｓが接続されている。通過ゲートスイッチ１４ｓは、前述した通過ゲート１４の内側に設けられ、パチンコ球が通過ゲート１４を通過するのを検出する。始動入賞口スイッチ１５ｓは、普通電動役物１５に入賞したパチンコ球を検出する。
【００８４】
主制御基板３０には、カウントスイッチ１６ｓや一般入賞口スイッチ１７ｓが接続されている。カウントスイッチ１６ｓは、大入賞口１６に入賞したパチンコ球を検出する。一般入賞口スイッチ１７ｓは、一般入賞口１７へ入賞したパチンコ球を検出する。
【００８５】
主制御基板３０には、始動入賞口ソレノイド１５ｖや大入賞口ソレノイド１６ｖなどが接続されている。始動入賞口ソレノイド１５ｖは、アクチュエータとして、普通電動役物１５の球受入口を拡張する。大入賞口ソレノイド１６ｖは、大入賞口１６の扉を開閉する。
【００８６】
主制御基板３０には、バックアップクリアスイッチ基板が接続されている。バックアップクリアスイッチ基板には、バックアップクリアスイッチ１９が実装されている。バックアップクリアスイッチ１９は、バックアップクリア信号を出力する。バックアップクリア信号は、主制御基板３０の主制御回路を構成するメインＣＰＵ３１に備えられたメインＲＡＭ３４や、払出制御基板６１の払出制御回路を構成するＲＡＭ（図示せず）のバックアップ内容のクリアを指令するための信号である。
【００８７】
前述した各スイッチ１４ｓ、１６ｓ及び１７ｓ、並びに各アクチュエータ１５ｖ及び１６ｖは、盤面中継基板８０を介して主制御基板３０に接続されている。各スイッチ１４ｓ、１５ｓ、１６ｓ及び１７ｓがパチンコ球を検出すると、その検出信号は主制御基板３０のメインＣＰＵ３１に入力される。メインＣＰＵ３１は、入力された検出信号に応じて、前述した各アクチュエータ１５ｖ及び１６ｖを駆動制御する。
【００８８】
＜副制御基板４０＞
副制御基板４０は、特別図柄表示装置１０（以下、（ＬＣＤ１０と称する。）に接続されている。副制御基板４０は、ＬＣＤ１０における画像表示を行う画像表示制御を行う。また、副制御基板４０は、ランプ・ＬＥＤ４８及びスピーカ４９に接続されている。副制御基板４０は、遊技状態に応じて、ランプ・ＬＥＤ４８の発光を制御する電飾制御と、スピーカ４９から効果音を放音させる音制御とを行う。ランプ・ＬＥＤ４８は、枠上部飾りランプ６と、普通図柄表示装置１１と、特別図柄始動記憶個数表示部１２と、普通図柄始動記憶個数表示部１３等を有する。
【００８９】
副制御基板４０には、サブＣＰＵ４１、プログラムＲＯＭ４２及びワークＲＡＭ４３が実装されている。サブＣＰＵ４１は、中継基板３７及びコマンド入力ポート４７を介して、主制御基板３０から送信されたコマンドを受信する。サブＣＰＵ４１は、受信したコマンドを解釈し、画像制御回路４４、ランプ制御回路４５及び音声制御回路４６へ制御指令を発する。プログラムＲＯＭ４２には、制御プログラムが記憶格納されている。この制御プログラムは、ＬＣＤ１０やランプ・ＬＥＤ４８やスピーカ４９の動作をサブＣＰＵ４１が処理制御するためのプログラムである。ワークＲＡＭ４３は、サブＣＰＵ４１が、プログラムＲＯＭ４２に記憶されている制御プログラムに従って処理制御するときにおける一時的な記憶手段となる。
【００９０】
＜画像制御回路４４＞
画像制御回路４４は、サブＣＰＵ４１からの制御指令に応じてＬＣＤ１０に表示するための画像データを生成する。メインＣＰＵ３１は、普通電動役物１５へパチンコ球が入賞して始動入賞が発生すると大当り判定を行い、その大当り判定の結果を副制御回路に送信する。副制御回路は、この大当り判定の結果に対応する態様でＬＣＤ１０に特別図柄を順次停止表示させる。副制御回路は、左図柄と右図柄とが同一図柄で停止表示されてリーチ状態になったときには、特別図柄及び演出画像を用いてＬＣＤ１０でリーチ演出を行う。ランプ制御回路４５は、サブＣＰＵ４１からの駆動信号により、パチンコ機１の遊技状態に応じてランプ・ＬＥＤ４８の発光を制御する。音声制御回路４６は、サブＣＰＵ４１からの駆動信号により、スピーカ４９を制御する。
【００９１】
プログラムＲＯＭ４２は、複数の演出態様をパターン化して記憶した演出記憶手段を構成する。主制御基板３０におけるメインＣＰＵ３１、メインＲＯＭ３３及びメインＲＡＭ３４と、副制御基板４０におけるサブＣＰＵ４１、プログラムＲＯＭ４２及びワークＲＡＭ４３とは、演出決定手段を構成する。演出決定手段は、演出記憶手段に記憶された演出態様の中から、実行させる演出に応じた演出態様を決定する。また、ＬＣＤ１０及び画像制御回路４４と、ランプ・ＬＥＤ４８及びランプ制御回路４５と、スピーカ４９及び音声制御回路４６とは、演出手段を構成する。演出手段は、演出決定手段によって決定された演出態様に対応した演出を実行する。
【００９２】
＜発射制御基板６０＞
発射制御基板６０には、発射装置６４が接続されている。発射装置６４は、発射ハンドル５の操作に応じて駆動される。発射制御基板６０によって発射制御回路が構成される。発射制御回路は、遊技者による発射ハンドル５の操作に応じて発射装置６４を駆動制御し、パチンコ球を遊技盤２へ発射させる。
【００９３】
＜払出制御基板６１＞
払出制御基板６１には、払出制御に関わる遊技処理を制御する制御手段としてＣＰＵ６８が実装されている。払出制御基板６１には、賞球及び貸球を払い出す払出装置６３が接続されている。払出制御基板６１で構成された払出制御回路は、各種入賞に応じて枠中継基板６２を介して主制御基板３０から出力される払出コマンドを受信する。払出制御回路は、受信払出コマンドに応じて、払出装置６３を駆動制御して賞球を払い出させる。
【００９４】
払出制御基板６１には、パチンコ球の球貸しを要求するカードユニット６５が接続されている。カードユニット６５には、前述した球貸しボタン７ａ及び返却ボタン７ｂを備えた球貸し操作パネル６６が接続されている。カードユニット６５は、球貸しボタン７ａ及び返却ボタン７ｂの操作に応じて払出制御基板６１の払出制御回路との間で通信を行う。払出制御回路は、カードユニット６５から出力される信号に応じて払出装置６３を駆動制御して、貸球を払い出させる。
【００９５】
＜＜メイン処理＞＞
図７〜図１１は、メイン処理を示すフローチャートである。このメイン処理は、主制御基板３０のメインＣＰＵ３１によって実行される。
【００９６】
最初に、メインＣＰＵ３１は、ウォッチドッグタイマの初期設定をする（ステップＳ７１１）
【００９７】
次に、メインＣＰＵ３１は、入出力ポートの初期設定をする（ステップＳ７１３）。
【００９８】
次に、メインＣＰＵ３１は、電断検知状態であるか否かを判断する（ステップＳ７１５）。電断検知状態であるか否かの判断は、入力ポートの内容が、電断検知信号ビット（ビット０）が１になるまで待機し、電断検知信号ビット（ビット０）が１になったときの入力ポートの内容を「初期入力ポート値」とする。この入力ポートの内容は、電源監視ＩＣ７１から出力される電断検知信号Ｄの電圧レベルによって定まる。メインＣＰＵ３１は、ステップＳ７１５の判断処理で電断検知状態であると判別したときには（ＹＥＳ）、ステップＳ７１５の処理を繰り返す。
【００９９】
一方、メインＣＰＵ３１は、ステップＳ７１５の判断処理で電断検知状態でないと判別したときには（ＮＯ）、サブ制御受信受付ウエイト処理を実行する（ステップＳ７１７）。このサブ制御受信受付ウエイト処理は、ウエイト時間、たとえば５００[ｍｓｅｃ]をメインＲＡＭ３４にセットし、ウエイト時間が経過するまで待機する処理である。ウエイト時間は、副制御基板４０における初期設定処理が終了するまで、メインＣＰＵ３１の処理を待機させるためのものである。
【０１００】
次に、メインＣＰＵ３１は、ＲＷＭ（リードライトメモリ）への書き込みを許可する（ステップＳ７１９）。なお、本明細書において、ＲＷＭ（リードライトメモリ）は、前述したメインＲＡＭ３４等の読み書き可能なメモリを意味する。このＲＷＭ（リードライトメモリ）には、後述する遊技情報データ、すなわち、ステップＳ１１１１〜Ｓ１１２７の各々の処理によって取得された各種のデータ（「遊技を進めるために必要な遊技情報」）が記憶される。また、ＲＷＭ（リードライトメモリ）は、電源が供給されていない間でも、コンデンサからのバックアップ電源によって記憶内容を保持することができる。
【０１０１】
次に、メインＣＰＵ３１は、スタックポインタに初期設定アドレス、たとえば８０００Ｈをセットする（ステップＳ７２１）。
【０１０２】
次に、メインＣＰＵ３１は、バックアップスイッチがオンであるか否かを判断する（ステップＳ７２３）。前述したように、バックアップクリアスイッチ１９からバックアップクリア信号が出力される。ステップＳ７２３は、バックアップクリア信号がバックアップクリアスイッチ１９から出力されたか否かを判断する処理である。
【０１０３】
メインＣＰＵ３１は、ステップＳ７２３の判断処理でバックアップスイッチがオンでないと判別したときには（ＮＯ）、電断検知フラグがセットされているか否かを判断する（ステップＳ７２５）。電断検知フラグは、電断が発生し、後述する電断処理（図１５参照）を実行したことを示すフラグである。電断検知フラグは、図１５のステップＳ１５１３の処理でセットされる。
【０１０４】
メインＣＰＵ３１は、ステップＳ７２５の判断処理で電断検知フラグがセットされていると判別したときには（ＹＥＳ）、作業領域の損傷をチェックし（ステップＳ７２７）、作業領域が損傷しているか否かを判断する（ステップＳ７２９）。作業領域の損傷は、電断によって供給される電圧が低下して、作業領域の状態が不安定になり作業領域の内容が変質することをいう。
【０１０５】
メインＣＰＵ３１は、作業領域が損傷していないと判別したときには（ＮＯ）、図８に示すステップＳ８１１に処理を移して電断復旧処理を実行する。また、メインＣＰＵ３１は、ステップＳ７２３の判断処理でバックアップスイッチがオンであると判別したとき（ＹＥＳ）、ステップＳ７２５の判断処理で電断検知フラグがセットされていないと判別したとき（ＮＯ）、又はステップＳ７２９の判断処理で作業領域が損傷していると判別したときには（ＹＥＳ）、図９に示すステップＳ９１１に処理を移して電源投入時処理を実行する。図９に示すステップＳ９１１〜Ｓ９２１の処理によって、遊技機に電源が投入されたときの処理が実行される。この処理は、バックアップスイッチが押下されている状態である場合（ステップＳ７２３で「ＹＥＳ」と判断した場合）には、主として、ＲＷＭを初期化するときの処理が行われる。
【０１０６】
＜電源断復旧処理＞
メインＣＰＵ３１は、図７のステップＳ７２９の判断処理で、作業領域が損傷していないと判別したときには（ＮＯ）、適切なスタックポインタに補正する（ステップＳ８１１）。この処理は、後述する電断処理（図１５）で、たとえば、スタックポインタをメインＲＡＭ３４に退避させたような場合には、そのスタックポインタを復帰する処理である。
【０１０７】
次に、メインＣＰＵ３１は、作業領域の初期設定をする（ステップＳ８１３）。このステップＳ８１３の処理によって、電源復帰時における作業領域の初期設定が行われる。
【０１０８】
次に、メインＣＰＵ３１は、通信データ格納領域をクリアする（ステップＳ８１５）。たとえば、ステップＳ８１５の処理は、通信データ格納領域のアドレスから順に通信データ格納領域長分（たとえば、７０バイト）に「０」を格納する処理である。この処理により、通信データ格納領域をクリアする処理、すなわち、リングバッファをクリアする処理が行われる。この通信データ格納領域やリングバッファが、「送信用記憶手段」に相当する。通信データ格納領域やリングバッファに送信コマンドが通信データとして記憶される。
【０１０９】
次に、メインＣＰＵ３１は、高確率遊技状態を報知する設定をする（ステップＳ８１７）。ステップＳ８１７の処理によって、特別図柄の遊技状態確認処理が行われる。ステップＳ８１７の処理では、低確率状態のときには何も行われず、高確率状態のときには確率値を表す報知フラグがセットされる。
【０１１０】
次に、メインＣＰＵ３１は、電源復帰時の内部状態のフラグを設定する（ステップＳ８１９）。このステップＳ８１９の処理では、扉・枠開閉状態領域、不正入賞情報管理フラグ領域の演算処理が行われ、セキュリティ情報生成処理、電源復帰時内部状態フラグ格納処理が行われる。
【０１１１】
次に、メインＣＰＵ３１は、電源復帰時の遊技状態のフラグを設定する（ステップＳ８２１）。このステップＳ８２１の処理は、遊技状態パラメータ領域、特別図柄当り情報マスタ値の論理積をとり、演算結果と特別図柄遊技状態フラグ領域の内容との論理和をとり、演算結果を電断復帰時遊技状態フラグ領域に格納する。
【０１１２】
次に、メインＣＰＵ３１は、電源復帰コマンドを副制御回路（副制御基板４０）に送信する（ステップＳ８２３）。このステップＳ８２３の処理は、電断時に所得した最新情報をパラメータとして付加して副制御回路に送信する。
【０１１３】
具体的には、このステップＳ８２３の処理は、後述するステップＳ１１１１〜Ｓ１１２７の各々の処理でＲＷＭ（メインＲＡＭ３４）に記憶させた各種のデータを読み出し、読み出した各種のデータを結合してパラメータ情報とし、このパラメータ情報をコマンドに付加して副制御回路に送信する。このＲＷＭ（メインＲＡＭ３４）に記憶させた各種のデータが、「遊技を進めるために必要な遊技情報」に相当する。
【０１１４】
このように、電源が復旧したときには、ステップＳ８１５の処理によって、まず、通信データ格納領域をクリアする処理を実行する。このように処理することで、電断によって不適切なコマンドが生じた場合であっても、たとえば、未送信のコマンドが存在する場合であっても、電源が復旧したときに、未送信のコマンドを副制御回路（副制御基板４０）に送信する必要がなく、処理が煩雑になることを防止することができる。
【０１１５】
また、電源が復旧したときに、ステップＳ８２３の処理を実行することによって、電断時に所得した各種のデータ（最新情報）を副制御回路に送信する。したがって、副制御回路は、電断時における各種のデータの全てを受け取ることにより、副制御回路を電断時（電断前）の状態に的確に戻すことができる。
【０１１６】
次に、メインＣＰＵ３１は、メインＣＰＵ３１の動作を設定し（ステップＳ８２５）、メイン処理を終了する。このステップＳ８２５の処理は、メインＣＰＵ３１への割り込みを禁止し、ＣＴＣ動作設定処理及びシリアル回路初期化処理を行い、メインＣＰＵ３１の周辺デバイスの初期設定を行う処理である。ここで、ＣＴＣ動作設定処理は、所定の時間毎、たとえば２[ｍｓｅｃ]毎で割り込みを発生させる内蔵クロックの動作を設定する処理である。また、シリアル回路初期化処理は、副制御基板４０等へのシリアル通信を正常に行えるようにするために、シリアル・イン・アウトの動作設定をする処理である。
【０１１７】
＜電源投入時処理＞
メインＣＰＵ３１は、前述した図７のステップＳ７２３の判断処理でバックアップスイッチがオンであると判別したとき（ＹＥＳ）、ステップＳ７２５の判断処理で電断検知フラグがセットされていないと判別したとき（ＮＯ）、又はステップＳ７２９の判断処理で作業領域が損傷していると判別したときには（ＹＥＳ）、特別図柄当り判定関連の初期値のために乱数を取得する（ステップＳ９１１）。
【０１１８】
次に、メインＣＰＵ３１は、作業領域の全体をクリアする（ステップＳ９１３）。たとえば、アドレス７Ｅ００Ｈから７ＦＦＦＨまでの領域に「０」を書き込むときに、その領域の０チェックを行い、「０」以外の領域がある場合には、７Ｅ００Ｈから同様の処理を繰り返す。
【０１１９】
ステップＳ９１３の処理は、具体的には、以下の処理からなる。まず、メインＣＰＵ３１は、メインＲＡＭ３４に記憶されているスタックポインタを初期化する。次いで、メインＣＰＵ３１は、メインＲＡＭ３４の作業領域の先頭アドレス、たとえば７Ｅ００Ｈをセットする。その後、メインＣＰＵ３１は、クリアデータをセットし、セットされた先頭アドレスのデータがクリアされたか否かを判断する。セットされた先頭アドレスのデータがクリアされていなかった場合には、メインＣＰＵ３１は、再度、前述したスタックポインタの初期化と、先頭アドレスのセットと、クリアデータのセットとの処理を繰り返す。
【０１２０】
一方、セットされた先頭アドレスのデータがクリアされていた場合には、メインＣＰＵ３１は、クリアした先頭アドレスの次のアドレスをセットする。メインＣＰＵ３１は、このセットされたアドレスが、メインＲＡＭ３４の作業領域の最終アドレス、たとえば、７ＦＦＦＨであるか否かを判断する。メインＣＰＵ３１は、最終アドレスでなかった場合には、再度、前述したクリアデータのセットと、クリアされたか否かの判断と、次のアドレスのセットとの処理を繰り返し、メインＲＡＭ３４の作業領域の全てをクリアする。
【０１２１】
次に、メインＣＰＵ３１は、ステップＳ９１１の処理で取得した乱数を用いて、特別図柄当り判定関連の初期値を設定する（ステップＳ９１５）。
【０１２２】
次に、メインＣＰＵ３１は、ＲＷＭ（リードライトメモリ）の初期化時の作業領域を初期設定する（ステップＳ９１７）。このステップＳ９１７の処理は、入力レジスタのテーブルアドレスとして作業領域初期化データのアドレスを設定して、データ格納処理を実行する処理である。
【０１２３】
次に、メインＣＰＵ３１は、ＲＷＭ（リードライトメモリ）の初期化時のコマンドを副制御基板４０に送信する（ステップＳ９１９）。このステップＳ９１９の処理によって送信されたコマンドにより、副制御基板４０は初期化される。
【０１２４】
次に、メインＣＰＵ３１は、メインＣＰＵ３１の周辺デバイスの初期設定をする（ステップＳ９２１）。このステップＳ９２１の処理は、割り込みを禁止し、ＣＴＣ動作設定処理及びシリアル回路初期化処理が行われ、メインＣＰＵ３１の周辺デバイスの初期設定が行われる。ここでも、ＣＴＣ動作設定処理は、所定の時間毎、たとえば２[ｍｓｅｃ]毎で割り込みを発生させる内蔵クロックの動作を設定する処理である。また、シリアル回路初期化処理は、副制御基板４０等へのシリアル通信を正常に行えるようにするために、シリアル・イン・アウトの動作設定をする処理である。
【０１２５】
＜＜メイン遊技処理＞＞
以下のステップＳ１０１１〜Ｓ１１２７の処理は、パチンコ機１に電源が定常的に供給されている間においては、繰り返し実行されるメイン遊技処理である。このメイン遊技処理は、割り込みを禁止し、ＮＭＩフラグ領域がロードされて、ＮＭＩフラグ領域の値が［Ａ５Ｈ］である場合には電断処理（図１０のステップＳ１０１７）を実行し、ＮＭＩフラグ領域の値が［Ａ５Ｈ］でない場合には電断処理を行わず、通常の処理を実行する。
【０１２６】
なお、電断処理が実行されるのは、メイン遊技処理において、このときのみであり、他の処理が実行されている途中で、割込処理により電断処理が実行されることはない。また、ＮＭＩ発生情報の確認を行うまで、電断発生前に行っていたメイン処理を行うので、ＮＭＩフラグを検知してからもシステムタイマ経過後処理が実行中であればシステムタイマ経過後処理を一巡して電断時の最新の遊技情報が一通り取得されてから電断処理に入ることになる。
【０１２７】
ステップＳ９２１の処理を実行した後、メインＣＰＵ３１は割り込みを禁止する（ステップＳ１０１１）。このステップＳ１０１１の処理は、割込処理の実行をマスクするように割込禁止処理を行うものである。
【０１２８】
次に、メインＣＰＵ３１は、ＮＭＩフラグ領域に記憶されているデータをロードし（ステップＳ１０１３）、ＮＭＩフラグがセットされているか否かを判断する（ステップＳ１０１５）。ＮＭＩフラグがセットされている場合には、ＮＭＩフラグ領域に［Ａ５Ｈ］が記憶されており、ＮＭＩフラグがセットされていない場合には、ＮＭＩフラグ領域に［Ａ５Ｈ］以外の値が記憶されている。
【０１２９】
次に、メインＣＰＵ３１は、ＮＭＩフラグがセットされていると判別したときには（ＹＥＳ）、図１５に示す電断処理を呼び出して実行する（ステップＳ１０１７）。
【０１３０】
メインＣＰＵ３１は、ステップＳ１０１５の判断処理でＮＭＩフラグがセットされていないと判別したとき（ＮＯ）、又はステップＳ１０１７の処理を実行したときには、各種の初期値用の乱数を更新する（ステップＳ１０１９）。
【０１３１】
次に、メインＣＰＵ３１は割り込みを許可する（ステップＳ１０２１）。これにより、割り込みの禁止状態が解除されて各種の割り込みが許可される。
【０１３２】
次に、メインＣＰＵ３１は、演出用の乱数を更新する（ステップＳ１０２３）。
【０１３３】
次に、メインＣＰＵ３１は、システムタイマを監視する（ステップＳ１０２５）。このステップＳ１０２５の処理は、システムタイマのタイマ値が所定値に至ったか否かを判断して、所定の時間経過したか否かを判断するものである。タイマ値が所定値に至っていない場合には、所定の時間経過していないとして、前述したステップＳ１０１１に処理を戻す。一方、タイマ値が所定値に至った場合には、所定の時間経過したとして、以下のシステムタイマ経過後処理を実行する。
【０１３４】
なお、システムタイマのタイマ値が所定値に至ったときには、システムタイマ監視タイマがリセットされる。また、システムタイマのタイマ値は、図１３のステップＳ１３１９の処理によって更新される。
【０１３５】
前述したように、所定の時間経過していない場合には、ステップＳ１０１１に処理を戻す。このようにしたことにより、ＮＭＩフラグ（電源低下情報）がセットされているか否かを繰り返し判断できる。したがって、供給電源の電圧が所定電圧より低下したか否かを的確に判断することができる。
【０１３６】
また、所定の時間経過した場合には、以下のシステムタイマ経過後処理を実行する。したがって、ＮＭＩフラグ（電源低下情報）がセットされているときでも、所定の時間経過した場合には、以下のステップＳ１１１１〜Ｓ１１２７の処理を実行する。後述するように、ステップＳ１１１１〜Ｓ１１２７の各々の処理では、これらの処理によって取得した各種のデータをＲＷＭに記憶する。このように、各種のデータを取得する処理を優先的に実行して、電源復帰に必要な情報を的確に取得することができる。
【０１３７】
＜システムタイマ経過後処理＞
以下のステップＳ１１１１〜Ｓ１１２７の処理は、メイン遊技処理におけるシステムタイマ経過後処理として順次実行される。
【０１３８】
次に、メインＣＰＵ３１は、タイマ値を更新する（ステップＳ１１１１）。この処理によって、初期設定処理や２バイトタイマ値更新処理が実行される。具体的には、メインＣＰＵ３１により、主制御基板３０の主制御回路と副制御基板４０の副制御回路との同期をとるための待ち時間タイマや、大入賞口開放時間タイマ等、各種のタイマの更新処理が実行される。
【０１３９】
次に、メインＣＰＵ３１は、特別図柄を制御する（特図制御処理）（ステップＳ１１１３）。このステップＳ１１１３の処理は、特別図柄待ち時間チェック処理を行い、特別図柄制御状態フラグ領域の内容に応じて、特別図柄記憶チェック処理、特別図柄変動時間管理処理、特別図柄表示時間管理処理、大入賞口１６の開放前処理、大入賞口１６の開放中処理、特別図柄当り終了インターバル処理を行う。
【０１４０】
次に、メインＣＰＵ３１は、普通図柄を制御する（普図制御処理）（ステップＳ１１１５）。このステップＳ１１１５の処理は、普通図柄待ち時間チェック処理を行い、普通図柄制御状態フラグ領域の内容に応じて、普通図柄記憶チェック処理、普通図柄変動時間管理処理、普通図柄表示時間管理処理、大入賞口１６の開放前処理、大入賞口１６の開放中処理、普通図柄当り終了インターバル処理を行う。
【０１４１】
次に、メインＣＰＵ３１は、図柄表示装置を制御する（ステップＳ１１１７）。このステップＳ１１１７の処理は、特別図柄表示装置１０や普通図柄表示装置１１を制御するものである。普通図柄表示装置制御処理や特別図柄表示装置制御処理を行う。また、パチンコ機１の遊技盤２に発射位置報知ＬＥＤが設けられている場合には、このステップＳ１１１７の処理で発射位置報知ＬＥＤ表示制御処理も行う。発射位置報知ＬＥＤは、遊技盤２におけるパチンコ球の最適発射位置に関する情報を遊技者に報知するものである。
【０１４２】
次に、メインＣＰＵ３１は、遊技情報データを生成する（ステップＳ１１１９）。不正入賞監視管理タイマ更新処理、始動口信号処理、外部端子板関連信号の生成処理、電動役物作動中信号の生成処理、試射試験信号の生成処理が行われる。このステップＳ１１１９で生成される遊技情報は、主に、ホールコンピュータなどのパチンコ機１に接続された管理装置に送信される。
【０１４３】
次に、メインＣＰＵ３１は、図柄保留個数データを生成する（ステップＳ１１２１）。
普通図柄保留個数データ生成処理、特別図柄保留個数データ生成処理が行われる。また、このステップＳ１１２１で生成する遊技情報データも「遊技を進めるために必要な遊技情報」に相当する。
【０１４４】
次に、メインＣＰＵ３１は、ポート出力処理を実行し（ステップＳ１１２３）、遊技球の払出処理を実行する（ステップＳ１１２５）。このステップＳ１１２５の処理は、賞球カウンタの判定処理を行い、払出要求コマンドの送出処理を行う。
【０１４５】
次に、メインＣＰＵ３１は、不正検知関連コマンドの処理を実行する（ステップＳ１１２７）。このステップＳ１１２７の処理は、不正検知関連設定処理、不正検知判定処理を行い、不正検知の場合には、不正検知関連コマンド送信予約処理を行う。
【０１４６】
前述したステップＳ１１１１〜Ｓ１１２７の各々の処理では、これらの処理によって取得した各種のデータを、ステップＳ１１１１〜Ｓ１１２７の各々の処理に伴ってＲＷＭに記憶する処理も実行する。たとえば、ステップＳ１１１３の特図制御処理、ステップＳ１１１５の普図制御処理及びステップＳ１１２５の払出処理で決定される停止図柄情報、変動時間情報、大入賞口入賞数情報及び賞球情報などの情報が、これらの処理に伴ってＲＷＭに記憶される。電源が復帰したときには、これらの情報をＲＷＭから読み出すことで、電断が発生したときの遊技状態に戻すことができる。また、前述した各種の情報のほか、ステップＳ１１２１で生成した図柄保留個数データもＲＷＭに記憶させるようにしてもよい。このように、ステップＳ１１１１〜Ｓ１１２７の各々の処理によって各種のデータをＲＷＭに記憶させた後、図１５の処理によって電断処理が行われる。停止図柄情報、変動時間情報、大入賞口入賞数情報、賞球情報及び図柄保留個数データなどの各種のデータが、「遊技を進めるために必要な遊技情報」に相当する。
【０１４７】
なお、前述したように、電源が供給されていない間でも、電源基板７０に搭載されたコンデンサからのバックアップ電源によって、ＲＷＭ（メインＲＡＭ３４）の記憶内容を保持することができる。このように、ステップＳ１１１１〜Ｓ１１２７の各々の処理で、各種のデータをＲＷＭ（メインＲＡＭ３４）に記憶させるので、メイン遊技処理が繰り返し実行されるたびに、最新の各種のデータをＲＷＭ（メインＲＡＭ３４）に記憶させることができ、各種のデータを常に更新しつつ記憶させることができる。
【０１４８】
次に、パチンコ機１の電源が復帰したときには、ＲＷＭに記憶した各種のデータを読み出して、コマンドのパラメータとして副制御基板４０の副制御回路に送信する（ステップＳ８２３参照）。
【０１４９】
＜＜演出制御コマンド割込処理＞＞
図１２は、演出制御コマンド割込処理を示すフローチャートである。この割込処理は、マスカブル割込処理であり、実行中のプログラムが割込受け付け許可を指定したときだけ受け付けられる処理である。
【０１５０】
最初に、メインＣＰＵ３１は、システムタイマ割込が発生したときのプログラムカウンタの値を示すＡＦレジスタの値をメインＲＡＭ３４のスタックエリアに退避する（ステップＳ１２１１）。
【０１５１】
次に、メインＣＰＵ３１は、ＮＭＩフラグがセットされているか否かを判断する（ステップＳ１２１３）。ＮＭＩフラグは、図１４に示すフローチャートのステップＳ１４１３の処理でセットされるフラグである。後述するように、ＮＭＩフラグは、電源回路が出力する供給電源の電圧が低下したか否かを示すフラグである。メインＣＰＵ３１は、ＮＭＩフラグがセットされていると判別したとき（ＹＥＳ）、すなわち、供給電源の電圧が低下したときには、後述するステップＳ１２２５に処理を移す。
【０１５２】
一方、メインＣＰＵ３１は、ＮＭＩフラグがセットされていないと判別したとき（ＮＯ）、すなわち、供給電源の電圧が低下していないときには、メインＣＰＵ３１は、割り込みが許可された時点のＢＣレジスタとＤＥレジスタとＨＬレジスタとの各々の値をメインＲＡＭ３４のスタックエリアに退避する（ステップＳ１２１５）。ＢＣレジスタ及びＤＥレジスタは汎用レジスタであり、ＨＬレジスタは間接参照用レジスタである。
【０１５３】
次に、メインＣＰＵ３１は、割り込みタイミングの調整をする（ステップＳ１２１７）。
【０１５４】
次に、メインＣＰＵ３１は、ウォッチドッグタイマのクリアする設定をする（ステップＳ１２１９）。この処理によって、リセットＩＣ３２のＣＫ端子にウォッチドッグクリア信号Ｃが出力される。
【０１５５】
次に、メインＣＰＵ３１は、送信準備の確認をする（ステップＳ１２２１）。送信準備の確認の処理によって、全ブロック送信済チェック処理と送信バッファ内容チェック処理とを行う。その結果、全ブロック送信済チェック処理の結果が「送信待ち」であり、送信バッファ内容チェック処理の結果が「空き」である場合には、インデックス処理と、データ出力処理と、通信済み確認処理とが行われる。
【０１５６】
次に、メインＣＰＵ３１は、ステップＳ１２１５の処理で退避させたＢＣレジスタとＤＥレジスタとＨＬレジスタとの各々の値をメインＲＡＭ３４のスタックエリアから読み出し、ＢＣレジスタとＤＥレジスタとＨＬレジスタとを復帰させる（ステップＳ１２２３）。
【０１５７】
次に、メインＣＰＵ３１は、ステップＳ１２１１の処理で退避させたＡＦレジスタの値をメインＲＡＭ３４のスタックエリアから読み出し、ＡＦレジスタを復帰させる（ステップＳ１２２５）。
【０１５８】
次に、メインＣＰＵ３１は、割り込みを許可し（ステップＳ１２２７）、演出制御コマンド割込処理を終了する。これにより、割り込みの禁止状態が解除されて各種の割り込みが許可される。
【０１５９】
＜＜システムタイマ割込処理＞＞
図１３は、システムタイマ割込処理を示すフローチャートである。この割込処理は、マスカブル割込処理であり、実行中のプログラムが割込受け付け許可を指定したときだけ受け付けられる処理である。
【０１６０】
最初に、メインＣＰＵ３１は、システムタイマ割り込みが発生したときのプログラムカウンタの値を示すＡＦレジスタの値をメインＲＡＭ３４のスタックエリアに退避する（ステップＳ１３１１）。
【０１６１】
次に、メインＣＰＵ３１は、ＮＭＩフラグがセットされているか否かを判断する（ステップＳ１３１３）。ＮＭＩフラグは、図１４に示すフローチャートのステップＳ１４１３の処理でセットされるフラグである。後述するように、ＮＭＩフラグは、電源回路が出力する供給電源の電圧が低下したか否かを示すフラグである。メインＣＰＵ３１は、ＮＭＩフラグがセットされていると判別したとき（ＹＥＳ）、すなわち、供給電源の電圧が低下したときには、後述するステップＳ１３３５に処理を移す。
【０１６２】
一方、メインＣＰＵ３１は、ＮＭＩフラグがセットされていないと判別したとき（ＮＯ）、すなわち、供給電源の電圧が低下していないときには、以下の通常の処理を実行する。
【０１６３】
まず、メインＣＰＵ３１は、割り込みを許可する（ステップＳ１３１５）。これにより、割り込みの禁止状態が解除されて各種の割り込みが許可される。
【０１６４】
次に、メインＣＰＵ３１は、割り込みが許可された時点のＢＣレジスタとＤＥレジスタとＨＬレジスタとの各々の値をメインＲＡＭ３４のスタックエリアに退避させる（ステップＳ１３１７）。ＢＣレジスタ及びＤＥレジスタは汎用レジスタであり、ＨＬレジスタは間接参照用レジスタである。
【０１６５】
次に、メインＣＰＵ３１は、システムタイマ監視タイマの値を更新する（ステップＳ１３１９）。たとえば、システムタイマ監視タイマのタイマ値に１を加える。
【０１６６】
次に、メインＣＰＵ３１は、ウォッチドッグクリア信号Ｃの電圧レベルを反転してリセットＩＣ３２のＣＫ端子に出力する（ステップＳ１３２１）。このステップＳ１３２１の処理により、図６（ｃ）に示すように、ウォッチドッグタイマ信号Ｔは、所定の電圧に達する前にリセットされる。
【０１６７】
次に、メインＣＰＵ３１は、乱数を更新する（ステップＳ１３２３）。この乱数の更新により、大当り判定等に用いられる大当り判定用乱数の値や、前述した初期値乱数の値が更新される。大当り判定用乱数値は、前述した特別図柄制御処理（図１１のステップＳ１１１３）において大当り遊技を行うか否かを決定する際に、メインＣＰＵ３１によって参照される。
【０１６８】
次に、メインＣＰＵ３１は、入力ポートを読み込む（ステップＳ１３２５）。
【０１６９】
次に、メインＣＰＵ３１は、スイッチ入力を検出する（ステップＳ１３２７）。このスイッチ入力を検出する処理では、前述した各スイッチ１４ｓ〜１７ｓから出力される検出信号に基づいて、通過ゲート１４をパチンコ球が通過したか否かや、普通電動役物１５や大入賞口１６、一般入賞口１７などにパチンコ球が入賞したか否かを検出する処理が行われる。
【０１７０】
次に、メインＣＰＵ３１は、ダイナミックＬＥＤを点灯する（ステップＳ１３２９）。このダイナミックＬＥＤは、主制御基板３０によって制御されて、点灯又は消灯されるＬＥＤ（発光ダイオード）である。
【０１７１】
次に、メインＣＰＵ３１は、入賞関連コマンドを実行する（ステップＳ１３３１）。この入賞関連コマンドによって、大入賞口１６や一般入賞口１７等の制御が行われる。
【０１７２】
次に、メインＣＰＵ３１は、ステップＳ１３１７の処理で退避させたＢＣレジスタとＤＥレジスタとＨＬレジスタとの値をメインＲＡＭ３４のスタックエリアから読み出し、ＢＣレジスタとＤＥレジスタとＨＬレジスタとを復帰させる（ステップＳ１３３３）。
【０１７３】
次に、メインＣＰＵ３１は、ステップＳ１３１１の処理で退避させたＡＦレジスタの値をメインＲＡＭ３４のスタックエリアから読み出し、ＡＦレジスタを復帰させ（ステップＳ１３３５）、システムタイマ割込処理を終了する。
【０１７４】
＜＜ノンマスカブル割込処理＞＞
図１４は、ノンマスカブル割込処理を示すフローチャートである。このノンマスカブル割込処理は、メインＣＰＵ３１のＮＭＩ端子に入力される電断検知信号Ｄの電圧レベルがハイレベル（Ｈ）からローレベル（Ｌ）に立下がったときに、ノンマスカブル割込処理として実行される。電断検知信号Ｄは、電源監視ＩＣ７１のＲＥＳＥＴ端子から出力されて、メインＣＰＵ３１のＮＭＩ端子に入力される。この処理は、ノンマスカブル割込処理として実行されるので、マスクすることができない割り込みであり、いかなるタイミングでも受け付けることができる割り込みである。このようにすることで、供給電源の電圧が低下したときに直ちに処理を実行することができる。
【０１７５】
最初に、メインＣＰＵ３１は、ノンマスカブル割込が発生したときのプログラムカウンタの値を示すＡＦレジスタの値をメインＲＡＭ３４のスタックエリアに退避する（ステップＳ１４１１）。
【０１７６】
次に、メインＣＰＵ３１は、ＮＭＩフラグをセットする（ステップＳ１４１３）。このＮＭＩフラグは、電断が発生して、このノンマスカブル割込処理を実行したことを示すフラグである。すなわち、電源回路が出力する供給電源の電圧が低下して、電源監視ＩＣ７１から出力された電断検知信号Ｄが（Ｈ）から（Ｌ）へ立下がったことを示すフラグである。このＮＭＩフラグが「電源低下情報」に相当する。
【０１７７】
ＮＭＩフラグ領域に［Ａ５Ｈ］を記憶させることによって、ＮＭＩフラグがセットされ、ＮＭＩフラグ領域に［Ａ５Ｈ］以外の値を記憶させることによって、ＮＭＩフラグのセットが解除される。
【０１７８】
次いで、メインＣＰＵ３１は、ステップＳ１４１１によって、メインＲＡＭ３４のスタックエリアに退避させておいたＡＦレジスタの値をＡＦレジスタに復帰させ（ステップＳ１４１５）、本サブルーチンを終了する。ＡＦレジスタを復帰させることで、ノンマスカブル割込が発生する直前の状態に戻すことができる。
【０１７９】
＜＜電断処理＞＞
図１５は、電断処理のサブルーチンを示すフローチャートである。この電断処理は、図１０のステップＳ１０１７の処理で呼び出されて実行される。
【０１８０】
最初に、メインＣＰＵ３１は、作業領域損傷チェック用データ生成処理が実行されて作業領域損傷チェック値を算出する（ステップＳ１５１１）。
【０１８１】
次に、メインＣＰＵ３１は電断検知フラグを設定する（ステップＳ１５１３）。電断検知フラグは、電断が発生して、この電断処理を実行したことを示すフラグである。電断検知フラグは、メイン処理のステップＳ７２５で参照される。
【０１８２】
次いで、メインＣＰＵ３１は、ＲＷＭへの書き込みを禁止し（ステップＳ１５１５）、無限ループを実行する。
【０１８３】
前述したように、本実施の形態におけるパチンコ機１では、図１０のステップＳ１０１１の電断処理を実行する前に、図１１のステップＳ１１１１〜Ｓ１１２７の各々の処理によって取得した各種のデータを、これらのステップＳ１１１１〜Ｓ１１２７の各々の処理に伴ってＲＷＭ（メインＲＡＭ３４）に記憶させる。
【０１８４】
このようにすることで、電断処理を実行するよりも前に、各種のデータをＲＷＭ（メインＲＡＭ３４）に記憶させるので、電源復帰時に必要となる各種のデータを的確に記憶させることができる。電源が供給されていない間は、電源基板７０に搭載されたコンデンサからのバックアップ電源によって、ＲＷＭ（メインＲＡＭ３４）に記憶させた各種のデータを保持される。
＜＜＜パチンコ機１の概要＞＞＞
【０１８５】
本実施の形態におけるパチンコ機１は、
遊技の進行に関する制御をする遊技制御手段（主制御基板３０や主制御回路）と、
前記遊技制御手段に供給される供給電源の電圧を監視し、供給電源の電圧が所定電圧より低下したときに電断が発生したとして低下検出信号を発する電源監視手段（電源監視ＩＣ７１）と、
送信コマンドを記憶する送信用記憶手段（通信データ格納領域やリングバッファ）を備え、前記送信用記憶手段から送信コマンドを読み出し、演出に関する制御をする副制御手段（副制御基板４０や副制御回路）に前記送信コマンドを送信するコマンド送信手段（メインＣＰＵ、コマンド出力ポート３６）と、
前記遊技制御手段への供給電源の電圧が前記所定電圧より低下した後もデータを保持できるデータ記憶手段（メインＲＡＭ３４）と、を有し、
前記遊技制御手段は、以下の処理を実行することを特徴とする。
（ａ）  前記電源監視手段から前記低下検出信号が発せられた場合には、供給電源の電圧が低下したことを示す電源低下情報（ＮＭＩフラグ）をノンマスカブル割込処理によってセットし、その後、ノンマスカブル割込前の元の処理に戻す電源低下情報セット処理（図１４のノンマスカブル割込処理）、
（ｂ）  遊技を進めるためのメイン制御処理（図１０及び図１１のメイン遊技処理）であって、
（ｂ−１）  割り込みを禁止する割込禁止処理（図１０のステップＳ１０１１）と、
（ｂ−２）  前記割込禁止処理の後に、前記電源低下情報がセットされているか否かを判断する判断処理（図１０のステップＳ１０１５）と、
（ｂ−３）  前記判断処理の後に、割り込みを許可する割込許可処理（図１０のステップＳ１０２１）と、
（ｂ−４）  前記割込許可処理の後に、遊技の制御をする遊技制御処理及び遊技を進めるために必要な遊技情報を取得する遊技情報取得処理（図１１のステップＳ１１１１〜Ｓ１１２７）と、を繰り返し実行可能で、
（ｂ−５）  前記（ｂ−４）において、前記割込許可処理の後に前記（ａ）の電源低下情報セット処理を実行した場合（図１４のステップＳ１４１３）には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び前記遊技情報取得処理（図１１のステップＳ１１１１〜Ｓ１１２７）を実行するメイン遊技処理、
（ｃ）  前記（ｂ−２）の判断処理で前記電源低下情報がセットされていると判別したときに、前記（ｂ−４）の処理で取得した遊技情報を前記データ記憶手段に記憶させる遊技情報記憶処理（図１５の電断処理）、及び
（ｄ）  前記遊技制御手段への供給電源の電圧が所定電圧より高くなったとき（図７のステップＳ７１５）に、電源が復帰したとして前記送信用記憶手段に記憶されている内容をクリアし（図８のステップＳ８１５）、前記データ記憶手段に記憶させた遊技情報を前記コマンド送信手段から送信コマンドとして送信する処理（図８のステップＳ８２３）。
【０１８６】
この構成によれば、電断処理を実行するタイミングを調整するので、電源復帰処理に必要な情報を的確に取得した後に電断させることができる。また、電源が復帰したときには、送信用記憶手段に記憶されている内容をクリアするともに、記憶させていた遊技情報をコマンド送信手段から送信コマンドとして送信するだけであるので、電断時及び電源復帰時における処理を簡便にするとともに、処理に要する記憶容量を小さくできる。
【０１８７】
また、本実施の形態におけるパチンコ機１は、上記構成において、
所定時間毎に発生する割り込みによって実行される割込処理（図１２の演出制御コマンド送信割込処理又は図１３のシステムタイマ割込処理）は、前記電源低下情報がセットされてない場合（図１２のステップＳ１２１３の「ＮＯ」又は図１３のステップＳ１３１３の「ＮＯ」の場合）には所定の処理（図１２のステップＳステップＳ１２１５〜Ｓ１２２３、又は図１３のステップＳステップＳ１３１５〜Ｓ１３３３）を実行し、前記電源低下情報がセットされている場合（図１２のステップＳ１２１３の「ＹＥＳ」又は図１３のステップＳ１３１３の「ＹＥＳ」の場合）には前記所定の処理の実行を省略することを特徴とする。
【０１８８】
この構成によれば、電源復帰後の処理に必要になる各種の情報を取得して記憶させる処理に要する時間を短くすることができ、所定の時間内、たとえば、電圧保証時間内に必要な処理を済ませて、電断処理をすることができる。
【０１８９】
さらに、本実施の形態におけるパチンコ機１は、上記構成において、
前記（ｂ−４）の処理は、
（ｂ−４−１）  前記（ｂ−３）の割込許可処理を実行した後、タイマ値（システムタイマ値）が所定値以上になったか否かを判断する処理と（図１０のステップＳ１０２５）、
（ｂ−４−２）  タイマ値が前記所定値未満であるときには、前記（ｂ−１）の処理に戻す処理と、
（ｂ−４−３）  タイマ値が前記所定値以上であるときには、前記遊技制御処理及び前記遊技情報取得処理を実行する処理と、を含み、
前記（ｂ−５）の処理は、前記（ｂ−４−３）の処理でタイマ値が前記所定値以上であるときに、前記（ａ）の電源低下情報セット処理を実行した場合には、前記（ａ）の電源低下情報セット処理から戻って、前記遊技制御処理及び遊技情報取得処理を実行する（図１０のステップＳ１０２５）ことを特徴とする。
【０１９０】
この構成によれば、電源低下情報がセットされているか否かを繰り返し判断できるタイミングを形成するとともに、所定時間経過したときには、電源低下情報がセットされている場合であっても、遊技制御処理や遊技情報取得処理を実行して、電源復帰に必要な情報を的確に取得することができる。
【符号の説明】
【０１９１】
１  パチンコ機（遊技機）
２  遊技盤
１０  特別図柄表示装置
１１  普通図柄表示装置
１５  普通電動役物
３０  主制御基板（遊技制御手段）
３１  メインＣＰＵ（コマンド送信手段）
３２  リセットＩＣ
３３  メインＲＯＭ
３４  メインＲＡＭ（データ記憶手段）
３６  コマンド出力ポート（コマンド送信手段）
４０  副制御基板
６１  払出制御基板
７０  電源基板
７１  電源監視ＩＣ（電源監視手段）
【図１】
0005554582.tif 000002
【図２】
0005554582.tif 000003
【図３】
0005554582.tif 000004
【図４】
0005554582.tif 000005
【図５】
0005554582.tif 000006
【図６】
0005554582.tif 000007
【図７】
0005554582.tif 000008
【図８】
0005554582.tif 000009
【図９】
0005554582.tif 000010
【図１０】
0005554582.tif 000011
【図１１】
0005554582.tif 000012
【図１２】
0005554582.tif 000013
【図１３】
0005554582.tif 000014
【図１４】
0005554582.tif 000015
【図１５】
0005554582.tif 000016