(57)【特許請求の範囲】
【請求項１】
所定の遊技媒体を用いて遊技を行う遊技機であって、
前記遊技の進行を統合制御する主制御装置と、
前記遊技中に視聴覚的な演出を行うための演出装置と、
所定の条件下で、前記遊技媒体を遊技者に払い出す払出装置と、
前記主制御装置からの指示情報に従って、前記演出および払出しの少なくとも一方を制御する下位制御装置とを有し、
前記主制御装置は、
前記統合制御を実行するためのＣＰＵと、
前記ＣＰＵが実行するプログラムを格納するためのメモリとしてのＲＯＭと、
前記統合制御に用いられる種々の情報を格納するためのメモリとしてのＲＡＭと、
前記統合制御において、前記主制御装置と前記下位制御装置を含む外部との間で信号を入出力するための入出力ポートとを有し、
前記ＣＰＵは、メモリへのアクセスに使用されるコマンドであって２バイト以上のアドレス値を含むコマンド体系を有するメモリアクセスコマンドと、外部との信号の入出力に使用されるコマンドであって入出力先を指定するためのアドレス値が前記メモリアクセスコマンドよりも１バイト以上少ないコマンド体系を有する入出力ポートアクセスコマンドとを使用可能であり、
前記入出力ポートアクセスコマンドで指定されるアドレス値に基づいて、アクセス先を前記ＲＡＭおよび入出力ポートに切り換え、前記ＲＡＭおよび入出力ポートのいずれかをアクティブにするセレクタ信号を出力するエリア区分判定部と、
前記メモリアクセスコマンドで指定されるアドレス値の上位所定桁に基づいて、アクセス先となる前記ＲＯＭおよびＲＡＭのいずれかをアクティブにするためのメモリセレクト信号を出力するメモリエリアデコード部とを有し、
前記入出力ポートアクセスコマンドに応じて稼働すべき対象を指定する入出力ポートリクエスト信号は、前記ＣＰＵから前記エリア区分判定部に入力されており、
前記メモリアクセスコマンドに応じて稼働すべき対象を指定するメモリリクエスト信号は、前記ＣＰＵから前記メモリエリアデコード部に入力されており、
前記ＲＡＭの先頭アドレスから連続する所定範囲は、前記ＣＰＵが前記ＲＯＭに格納されているコンピュータプログラムに基づく制御処理を実行する際に使用する情報を格納しておくためのワークに割り当てられており、
前記ＲＡＭのうち前記ワーク領域を除く領域には、前記ＣＰＵが前記コンピュータプログラムを実行する際に一時的にデータを格納しておくための可変サイズのスタック領域が、前記スタック領域と前記ワーク領域との間に設けた隔離領域の存在によって、前記ワーク領域と干渉しないように割り当てられており、
前記ＲＡＭのうち前記エリア区分判定部を介してアクセス可能な疑似ＲＡＭ領域は、前記スタック領域よりもアドレスが小さい側に、該スタック領域の少なくとも一部を避けるようにして設定されており、
前記隔離領域に対応するアドレスについては、前記エリア区分判定部が、前記ＲＡＭをアクティブにするためのセレクタ信号の出力を規制するとともに、前記メモリエリアデコード部が、前記ＲＡＭをアクティブにするためのメモリセレクト信号の出力を規制することにより、前記隔離領域をデータ書き込みが不能な領域とする
遊技機。
【請求項２】
請求項１記載の遊技機であって、
前記スタック領域は、データを格納するたびに、アドレスが小さくなる側に領域が拡張するよう構成されており、
前記スタック領域は、前記ＲＡＭの終端アドレスを開始点として設定されている遊技機。
【請求項３】
請求項１または２記載の遊技機であって、
前記疑似ＲＡＭ領域は、前記ＲＡＭの先頭アドレスを含む連続領域である遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットマシン、パチンコ機などの遊技機を制御する制御装置に関する。
【背景技術】
【０００２】
スロットマシン、パチンコ機などの遊技機の制御は、全体の進行を制御するための主制
御基板、メダルや遊技球などの遊技媒体の払出しを制御する払出制御基板、音声出力、ラ
ンプ点灯、画像表示などの演出を制御する演出制御基板などの分散制御によって行われる
（特許文献１）。主制御基板、演出制御基板は、それぞれＣＰＵ、ＲＡＭ、ＲＯＭなどを
備えるマイクロコンピュータとして構成されている。
【０００３】
遊技機の制御基板、特に主制御基板では、不正を防止するために種々の制約が設けられ
ている。例えば、ＣＰＵについては、汎用のＣＰＵではなく、遊技機特有のセキュリティ
機能が設けられたＣＰＵが用いられている。また、ＲＯＭ、ＲＡＭの容量にも制約が設け
られており、パチンコ機では制御用のプログラムが３キロバイト（ＫＢ）以内、データは
３ＫＢ以内というように、プログラムサイズやデータ容量についても制約が設けられてい
る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−８４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、遊技機の制御は、興趣を高めるため、年々、複雑化する傾向にある。
例えば、パチンコ機においては、従来、第１種と呼ばれる機種においては乱数を用いた
電子的な抽選を行い、第２種と呼ばれる機種においては機械的な可動部を動作させ、可動
部上の遊技球の動きによって当たりか否かを決める方法での抽選を行ってきた。これに対
し、近年では、複合機と呼ばれる機種が登場し、上述の第１種および第２種を合わせた抽
選を行うようになっている。この場合、主制御基板には、第１種および第２種の双方の抽
選を行える制御プログラムを用意しておく必要がある。
【０００６】
上述の傾向は、パチンコ機以外の遊技機でも同様であり、遊技機は、プログラムやデー
タ量の厳しい制約の下で、より複雑な制御処理を実行することを要請されている。
本発明は、こうした課題に鑑み、遊技機のプログラム容量を削減可能にすることを目的
とする。
【課題を解決するための手段】
【０００７】
本発明は、所定の遊技媒体を直接的または間接的に用いて遊技を行う遊技機を対象とす
る。かかる遊技機としては、例えば、スロットマシンなどの回胴式遊技機、スマートボー
ル、パチンコ機などが挙げられる。遊技媒体とは、遊技球やメダルなど遊技中に投資、特
典の対象となる媒体を言う。
遊技機は、遊技の進行を統合制御する主制御装置を有している。この他、遊技中に視聴
覚的な演出を行うための演出装置と、所定の条件下で遊技媒体を遊技者に払い出す払出装
置とを備えている。演出装置としては、例えば、音声出力用のスピーカ、ランプ、画像表
示装置などが含まれる。遊技機には、主制御装置からの指示情報に従って演出および払出
の少なくとも一部を制御する下位制御装置が備えられている。下位制御装置としては、音
声出力や表示を制御する演出制御装置などが挙げられる。下位制御装置は、主制御装置と
は別のハードウェアとして構成されており、後述する入出力ポートを介して主制御装置か
らの指示情報を受け取る。また、遊技機の種類によっては、遊技媒体の払出しを制御する
払出制御装置を下位制御装置の一つとして設けても良い。
【０００８】
本発明の遊技機における主制御装置は、ＣＰＵ、ＲＯＭ、ＲＡＭを備えたマイクロコン
ピュータとして構成されている。ＲＯＭには、ＣＰＵが遊技の統合制御のために実行する
プログラムが格納されている。ＲＡＭは、制御に用いられる種々の情報を格納するための
メモリとして機能する。かかる情報としては、例えば、制御プログラム中の各モジュール
間で処理結果等を受け渡すためのワークや、演算中にＣＰＵが計算結果を一時的に蓄えて
おくためのスタックなどが含まれる。
主制御装置には、統合制御において、下位制御装置を含む外部との間で信号を入出力す
るための入出力ポートも設けられている。入出力ポートとは、ここでは、外部との信号線
を接続する端子、その端子から入出力される信号を一時的に蓄積しておくバッファ、各信
号の入出力先を切り換えるデコーダなどの総称として用いる。信号の入出力先は、メモリ
と同様、アドレスによって指定可能である。
【０００９】
ＣＰＵが用いるコマンドには、メモリアクセスコマンド、入出力ポートアクセスコマン
ドが含まれる。メモリアクセスコマンドとは、メモリへのアクセスに使用されるコマンド
であり、このコマンドには、２バイト以上のアドレス値の指定が含まれる。入出力ポート
アクセスコマンドとは、外部との信号の入出力に使用されるコマンドであり、入出力先を
指定するためのアドレス値はメモリアクセスコマンドよりも１バイト以上少ないコマンド
体系となっている。例えば、メモリアクセスコマンドが２バイトでアドレス指定を行うコ
マンド体系である場合には、入出力ポートアクセスコマンドは１バイトでアドレス指定を
行うコマンド体系となる。
Ｚ８０（商標）というＣＰＵに即して説明すれば、ロード／ストアコマンドがメモリア
クセスコマンドに相当し、イン／アウトコマンドが入出力ポートアクセスコマンドに相当
する。ロード／ストアコマンドでは２バイトでアドレスが指定され、イン／アウトコマン
ドでは1バイトで指定される。
【００１０】
主制御装置には、更に、エリア区分判定部が備えられている。エリア区分判定部は、入
出力ポートアクセスコマンドで指定されるアドレス値に基づいて、アクセス先をＲＡＭお
よび入出力ポートに切り換え、ＲＡＭおよび入出力ポートのいずれかをアクティブにする
セレクタ信号を出力する機能を奏する。入出力ポートアクセスコマンドは、通常、入出力
ポートを通じたデータ授受に使用されるコマンドであるが、本発明では、同コマンドで指
定されるアドレス空間の一部をＲＡＭへのアクセスに使用するのである。エリア区分判定
部は、従って、コマンドで指定されたアドレスが、ＲＡＭ用または入出力ポート用のいず
れに割り当てられたアドレスかを判定し、判定結果に応じてセレクタ信号を出力する。こ
のセレクタ信号は、それぞれＲＡＭおよび入出力ポートに入力され、各ユニットをアクセ
ス可能な状態にさせる。
ＣＰＵからは、入出力ポートアクセスコマンドに応じて稼働すべき対象を指定する入出
力ポートリクエスト信号が、エリア区分判定部に入力されている。従って、エリア区分判
定部の上述の機能は、ＣＰＵがイン／アウトコマンドなど入出力ポートアクセスコマンド
を出力した時に有効となる。
【００１１】
主制御装置には、更に、メモリエリアデコード部が設けられている。メモリエリアデコ
ード部は、メモリアクセスコマンドで指定されるアドレス値の上位所定桁に基づいて、ア
クセス先となるＲＯＭおよびＲＡＭのいずれかをアクティブにするためのメモリセレクト
信号を出力する機能を奏する。ＣＰＵからは、メモリアクセスコマンドに応じて稼働すべ
き対象を指定するメモリリクエスト信号が、メモリエリアデコード部に入力されており、
上述の機能は、ＣＰＵがメモリアクセスコマンドを出力した時に有効となる。
【００１２】
本発明の遊技機は、主制御装置のＣＰＵは、エリア区分判定部の機能により、入出力ポ
ートアクセスコマンドでＲＡＭの一部の領域にアクセス可能である。アクセス先を指定す
るアドレスは、入出力ポートアクセスコマンドの方が、メモリアクセスコマンドよりも１
バイト以上少なくて済む。従って、ＲＡＭへのアクセスが必要となる箇所で、メモリアク
セスコマンドに代えて、入出力ポートアクセスコマンドを用いることにより、１カ所につ
き１バイト以上、プログラム容量を削減することができる。ＲＡＭへのアクセスは、プロ
グラム全体で数多く行われる処理である。従って、本発明の遊技機では、上述の作用によ
って、プログラム全体の容量を有意に削減することが可能となる。以下、ＲＡＭ領域のう
ち、入出力ポートアクセスコマンドでアクセス可能な領域を疑似ＲＡＭ領域と称するもの
とする。
また、主制御装置には、メモリエリアデコード部も設けられているため、メモリアクセ
スコマンドによってもＲＡＭへのアクセスが可能となる。疑似ＲＡＭ領域は、入出力ポー
ト用のアドレス空間の一部に過ぎないが、メモリアクセスコマンドを利用すれば、全領域
にアクセス可能となる。従って、入出力ポートアクセスコマンドによるＲＡＭへのアクセ
スでプログラム容量の削減を図りつつ、メモリアクセスコマンドによってＲＡＭの領域を
無駄なく活用することが可能となる。
以上より、本発明の主制御装置では、ＲＡＭ領域は、メモリアクセスコマンドおよび入
出力ポートアクセスコマンドの双方によってアクセス可能な疑似ＲＡＭ領域と、メモリア
クセスコマンドのみによってアクセス可能な領域とに分けられることになる。
【００１３】
本発明において、ＲＡＭの先頭アドレスから連続する所定範囲は、ＣＰＵがＲＯＭに格
納されているコンピュータプログラムに基づく制御処理を実行する際に使用する情報を格
納しておくためのワークに割り当てられている。また、ＲＡＭのうちワークを除く領域に
は、ＣＰＵがコンピュータプログラムを実行する際に一時的にデータを格納しておくため
の可変サイズのスタックが、ワークと干渉しないように割り当てられている。そして、Ｒ
ＡＭのうちエリア区分判定部を介してアクセス可能な疑似ＲＡＭ領域は、スタックよりも
アドレスが小さい側に、スタックの少なくとも一部を避けるようにして設定されている。
まず、先頭アドレスを含む所定の連続領域をワークに割り当てることにより、ワークの
空き領域を悪用した不正を防止することができる。
また、ワークとの干渉を避けるようにスタックを配置した上で、スタックの少なくとも
一部を避けて疑似ＲＡＭ領域を配置することにより、疑似ＲＡＭ領域を効果的に使用する
ことができる利点がある。つまり、ＣＰＵは、スタックへのアクセスには、入出力ポート
アクセスコマンドは利用できず、メモリアクセスコマンドを利用するのが一般的である。
従って、疑似ＲＡＭ領域をスタックに割り当てたとしても、入出力ポートアクセスコマン
ドを活用することによるプログラムサイズ削減効果を得ることはできないため、この意味
で、スタックに割り当てられた疑似ＲＡＭ領域は無駄になってしまう。これに対し、スタ
ックを避けて疑似ＲＡＭ領域を設けておけば、疑似ＲＡＭを無駄なくプログラム容量の削
減効果に結びつけることが可能となる。
【００１４】
スタックは蓄積されているデータ量に応じて変化する可変サイズの領域である。従って
、疑似ＲＡＭ領域は、想定されるスタックの最大範囲を回避するよう設定しておけばよい
。疑似ＲＡＭ領域は、スタックの全範囲を避けることが望ましいが、必ずしも全範囲を避
ける場合に限る必要はなく、少なくとも一部を避けていればよい。
【００１５】
スタックは、例えば、所定のアドレスを開始点として、データの蓄積に応じてアドレス
が小さくなる側に拡張するよう構成することができる。スタックの範囲は、最後のデータ
を格納した領域のアドレスを表すスタックポインタで管理されるのが通常であるが、デー
タを格納する度にスタックポインタを一つずつ減少させるよう制御すればよい。
かかる場合には、スタックはＲＡＭの終端アドレスを開始点として設定しておくことが
好ましい。つまり、ＲＡＭの終端から始まる可変領域がスタックに割り当てられることに
なる。
こうすることにより、スタックが拡張された場合でも、ワークとの干渉をほぼ確実に回
避することができる。また、疑似ＲＡＭ領域もスタックを十分に回避して設定することが
可能となる。
【００１６】
スタックはデータを格納する度にスタックポインタを一つずつ増加させるよう構成して
もよい。この場合には、疑似ＲＡＭ領域またはワークの終端アドレスよりも大きい任意の
アドレスを開始点とすればよい。こうすることによって、疑似ＲＡＭ領域およびワークと
スタックとの干渉を回避することができる。ただし、スタックが最大限に拡張した場合に
、ＲＡＭ領域が不足しないよう開始点のアドレスを設定しておくことが望ましい。
【００１７】
本発明において、疑似ＲＡＭ領域は種々の設定が可能であるが、先頭アドレスを含む所
定範囲を割り当てることが好ましい。
先に説明した通り、本発明の遊技機では、ワークとして使用するＲＡＭ領域を先頭アド
レスから空き領域（未使用領域）を設けることなく連続して設定することによって、不正
防止を図っている。このため、上述の態様では、疑似ＲＡＭ領域をＲＡＭ領域の先頭アド
レスから設けることによって、疑似ＲＡＭ領域をワークとして無駄なく活用することが可
能となる。
【００１８】
エリア区分判定部がアクセス先の判定に使用するエリア区分データは、ハードウェア的
に組み込むようにしてもよいし、ソフトウェア的に設定可能な構成としてもよい。後者の
例では、エリア区分判定部に、エリア区分データを記憶するためのエリア区分データ記憶
部を設け、ＣＰＵが起動時に、エリア区分データをエリア区分データ記憶部に設定するよ
うにすればよい。
エリア区分データとしては、例えば、疑似ＲＡＭ領域の境界アドレスを用いることがで
きる。例えば、境界の先頭アドレス、最終アドレスを用いてもよい。また、先頭アドレス
と、疑似ＲＡＭ領域の容量を用いても良い。疑似ＲＡＭ領域が先頭アドレスから開始する
ことが既知の場合には、最終アドレスまたは疑似ＲＡＭ領域の容量のみをエリア区分デー
タとして用いることもできる。
エリア区分データをソフトウェア的に設定可能としておけば、機種や処理内容に応じて
、比較的容易に最適サイズで疑似ＲＡＭ領域を設けることができる利点がある。
【００１９】
本発明において、メモリエリアデコード部を設ける場合には、更に、上位所定桁に基づ
いて、入出力ポートをアクティブにする入出力ポートセレクト信号を出力可能としてもよ
い。入出力ポートセレクト信号は、入出力ポートに伝達される。
こうすることによって、メモリアクセスコマンドによって入出力ポートからの信号授受
が可能となる。入出力ポートの一部または全部を、メモリアクセスコマンドでアクセスす
るものとすれば、その分、入出力ポートアクセスコマンドによってアクセス可能となる疑
似ＲＡＭ領域を増やすことができる。入出力ポート全部をメモリアクセスコマンドでアク
セスするものとすれば、入出力ポートアクセスコマンドによって指定可能な全アドレス空
間を疑似ＲＡＭ領域とすることが可能となる。この態様によれば、プログラムサイズの削
減効果上、最も効果的な疑似ＲＡＭ領域のサイズを、柔軟に設定することが可能となるの
である。
【００２０】
本発明において、上述の特徴は、必ずしも全てが備えられている必要はなく、適宜、一
部を省略したり、組み合わせたりしても良い。上述の特徴は、主制御装置とは別のハード
ウェアとして払出制御装置が構成されている場合には、払出制御装置に適用することも可
能である。
【図面の簡単な説明】
【００２１】
【図１】実施例としてのパチンコ機１の制御用ハードウェア構成を示すブロック図である。
【図２】主制御基板１１０の回路構成を示す説明図である。
【図３】主制御基板１１０の動作を示す説明図である。
【図４】ＲＡＭ１１６へのワークの割り当て方法を示す説明図である。
【図５】主制御側電源投入時処理の一例を示すフローチャート（１）である。
【図６】主制御側電源投入時処理の一例を示すフローチャート（２）である。
【図７】ＲＡＭの全領域クリア処理のフローチャートである。
【図８】ＲＡＭの全領域クリア処理の変形例のフローチャートである。
【図９】主制御側タイマ割り込み処理のフローチャートである。
【図１０】擬似ＲＡＭの効果を示す説明図である。
【図１１】主制御基板の変形例を示す説明図である。
【発明を実施するための最良の形態】
【００２２】
本発明の実施例について以下の順序で説明する。
Ａ．装置構成：
Ｂ．主制御基板１１０の回路構成：
Ｂ１．ハードウェア構成：
Ｂ２．ＲＡＭ１１６へのワークの割り当て：
Ｃ．制御処理：
Ｃ１．主制御側電源投入時処理：
Ｃ２．ＲＡＭの全領域クリア処理：
Ｃ３．主制御側タイマ割り込み処理：
Ｃ４．サブ統合側処理：
Ｃ５．払出制御基板の制御処理：
Ｄ．プログラム容量削減効果：
Ｅ．主制御基板１１０の変形例：
【００２３】
Ａ．装置構成：
実施例では、パチンコ機として構成した場合の例を示す。
実施例としてのパチンコ機は、遊技媒体に相当する遊技球を、発射し、遊技盤に設けら
れた入賞口に入賞させることによって、賞球の払出を受ける遊技機である。
パチンコ機が、第１種または複合機と呼ばれる機種の場合、始動入賞口と呼ばれる入賞
口に遊技球が入賞すると、乱数を用いた電子的な抽選が行われる。抽選の結果、大当たり
となると、遊技盤に設けられた大入賞口が所定期間、所定回数、開閉し、賞球の払出を受
けやすい有利な遊技状態（以下、「大当たり遊技」という）に移行する。
パチンコ機が、第２種または複合機の場合には、遊技球の動きによって機械的に抽選の
当落を決定する機構が備えられている。この場合でも、大当たりが発生すると、機種に応
じた大当たり遊技に移行する。
【００２４】
図１は実施例としてのパチンコ機１の制御用ハードウェア構成を示すブロック図である
。パチンコ機１は、主制御基板１１０、払出制御基板２１０、サブ制御基板３１０、装飾
図柄制御基板３５０などの各制御基板の分散処理によって制御される。主制御基板１１０
には、ＣＰＵ、ＲＡＭ、ＲＯＭなどを備えたワンチップマイクロコンピュータが実装され
ており、ＲＯＭに記録されたプログラムに従って種々の制御処理を実現する。払出制御基
板２１０、サブ制御基板３１０も同様である。
本実施例では、サブ制御基板３１０と装飾図柄制御基板３５０とは別基板として構成し
ているが、両者を統合した基板としてもよい。この場合、サブ制御基板３１０の機能と装
飾図柄制御基板３５０の機能を、複数のＣＰＵの分散処理で実現してもよいし、単独のＣ
ＰＵで実現する構成としてもよい。
また、主制御基板１１０と払出制御基板２１０も別基板とせず、両者を統合した基板と
して構成することもできる。
【００２５】
実施例のパチンコ機１では、種々の不正を防止するため、主制御基板１１０への外部か
らの入力が制限されている。主制御基板１１０とサブ制御基板３１０とは単方向のパラレ
ル電気信号で接続されており、主制御基板１１０と払出制御基板２１０とは、制御処理の
必要上、双方向シリアル電気信号で接続されている。
払出制御基板２１０、サブ制御基板３１０は、それぞれ主制御基板１１０からのコマン
ドに応じて動作する。装飾図柄制御基板３５０は、サブ制御基板３１０からのコマンドに
応じて動作する。
【００２６】
パチンコ機１には、主制御基板１１０が直接に制御する機構もある。図中には、主制御
基板１１０が制御する装置の一例として、大当たり遊技において、大入賞口を駆動するた
めの大入賞口ソレノイド４３、および特別図柄表示装置４１を例示した。特別図柄表示装
置４１とは、遊技中に主制御基板１１０が行った抽選の結果を、所定数のＬＥＤの点灯状
態で表示する装置である。
図示しないが、主制御基板１１０は、この他にも、普通図柄表示装置、特別図柄保留ラ
ンプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御す
ることができる。
【００２７】
また、主制御基板１１０には、遊技中の動作を制御するため、種々のセンサからの検出
信号が入力される。図中には一例として入賞検出器４２からの入力を例示した。入賞検出
器４２とは、始動入賞口への入賞を検出するためのセンサである。主制御基板１１０は、
入賞検出器４２からの信号に応じて、先に説明した抽選を行い、大当り遊技を実行するこ
とができる。主制御基板１１０には、他にも種々の入力がなされているが、ここでは説明
を省略する。
【００２８】
遊技時におけるその他の制御は、払出制御基板２１０、サブ制御基板３１０を介して行
われる。
払出制御基板２１０は、遊技中の遊技球の発射および払い出しを次の手順で制御する。
遊技球の発射は、直接的には発射制御基板４７によって制御される。即ち、遊技者が、
遊技機正面に備えられた発射用のハンドルを操作すると、発射制御基板４７は操作に応じ
て発射モータ４９を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部４８によ
って、ハンドルに遊技者が触れていることが検出されている状況下でのみ行われる。払出
制御基板２１０は、発射制御基板４７に対して、発射可否の制御信号を送出することで、
間接的に球の発射を制御する。
【００２９】
遊技中に入賞した旨のコマンドを主制御基板１１０から受信すると、払出制御基板２１
０は、賞球払出装置２０内の払出モータ２１を制御し、払出球検出器２２によって球数を
カウントしながら規定数の球を払い出す。払出モータ２１の動作は、モータ駆動センサ２
３によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板
２１０は、表示部４ａにエラーコードを表示する。エラー表示された時には、遊技場の係
員が異常を除去した後、操作スイッチ４ｂを操作することで復旧させることができる。
【００３０】
サブ制御基板３１０は、遊技中における音声、表示、ランプ点灯などの演出を制御する
。サブ制御基板３１０は、これらの制御を実行するためのＣＰＵ、ＲＡＭ、ＲＯＭを備え
たマイクロコンピュータとして構成されている。これらの演出は、通常時、入賞時、大当
たり時など、遊技中のステータスに応じて変化する。主制御基板１１０から、各ステータ
スに応じた演出用のコマンドが送信されると、サブ制御基板３１０は、各コマンドに対応
したプログラムを起動して、主制御基板１１０から指示された演出を実現する。
音声およびランプ点灯はサブ制御基板３１０が直接制御するが、ＬＣＤ１６の表示につ
いては、装飾図柄制御基板３５０を介して制御する。
【００３１】
サブ制御基板３１０の制御対象となるランプには、遊技盤面に設けられたパネル装飾ラ
ンプ１２と、枠に設けられた枠装飾ランプ３１がある。サブ制御基板３１０は、ランプ中
継基板３２、３４を介して、パネル装飾ランプ１２および枠装飾ランプ３１と接続されて
おり、各ランプを個別に点滅させることができる。
図示を省略したが、スピーカ２９を制御するため、サブ制御基板３１０には、音源ＩＣ
およびアンプが備えられている。ＣＰＵが、スピーカ２９から出力する音声を決めて音声
出力コマンドを出力すると、音源ＩＣが予め用意された音源データから指定されたものを
再生し、アンプで増幅してスピーカ２９から出力する。
【００３２】
また、サブ制御基板３１０は、遊技中の演出の他、エラー時、不正行為その他の異常が
生じた時には、警報音を出力したり、ランプを警告用に点灯したりして、異常発生を報知
する。主制御基板１１０のＲＡＭの内容を消去するためのＲＡＭクリアスイッチが操作さ
れた時にも、同様に報知音が出力される。
警報音には、例えば、遊技中の効果音とは明らかに異なるブザー音を用いることができ
る。警告用のランプ点灯としては、例えば、遊技盤の周囲全体を赤く点滅させるなど、遊
技中とは明らかに異なる態様での点灯・点滅をさせることができる。
【００３３】
Ｂ．主制御基板１１０の回路構成：
Ｂ１．ハードウェア構成：
図２は主制御基板１１０の回路構成を示す説明図である。先に説明した通り、主制御基
板１１０には、ＣＰＵ１１１、ＲＡＭ１１６、ＲＯＭ１１４を備えるワンチップマイクロ
コンピュータが実装されている。図中には、ＣＰＵ１１１が、ＲＡＭ１１６、ＲＯＭ１１
４にアクセスするための回路、および外部入出力（Ｉ／Ｏ）を行うための回路を示した。
本実施例では、ＣＰＵ１１１には、セキュリティ機能が備えられている。セキュリティ
機能としては、例えば、内蔵されたＲＯＭが正規の認証を受けたＲＯＭであるかを判定す
る機能、予め定められたエリア以外へのアクセスが行われた場合に、内部的にリセットを
発生させる機能、ＣＰＵの外部に設けられた端子から、内蔵のＩＤコードや、ＲＯＭに格
納されたデータ等を読み出すことができる機能などが挙げられる。
また、遊技機の規格上、プログラム容量は３ＫＢ以下、データ容量は３ＫＢ以下という
厳しい制限下で動作するよう構成されている。
本実施例の回路は、ＣＰＵ１１１がＲＡＭ１１６にアクセスするために、ロード／スト
アコマンドと呼ばれる通常のメモリ領域へのアクセス用のコマンドの他、イン／アウトコ
マンドというＩ／Ｏにアクセスするためのコマンドも使用可能な構成となっている。以下
では、まず回路構成について概要を示した後、その動作について説明する。
【００３４】
ＣＰＵ１１１からは、バスバッファ１１２を介して図示する種々の信号が出力される。
アドレスＡ１５〜Ａ０は１６ビットの信号である。Ａ１５〜Ａ８を上位アドレス、Ａ７〜
Ａ０を下位アドレスと呼ぶこともある。データバスは、Ｄ７〜Ｄ０の８ビットである。Ｒ
Ｄ／ＷＲは読み書きの制御信号（以下、「リード・ライト」と呼ぶこともある）である。
ＩＯＲＥＱは、Ｉ／Ｏへのアクセスの際にアクティブとなる１ビットの信号であり、ＭＲ
ＥＱはメモリへのアクセスの際にアクティブとなる１ビットの信号である。
【００３５】
メモリエリアデコーダ１１３は、メモリへのアクセスを中継する回路である。メモリエ
リアデコーダ１１３からは、ＲＯＭ１１４へのアクセスを可能とするためのチップセレク
タ信号ＭＣＳ２、ＲＡＭ１１６へのアクセスを可能とするためのチップセレクタ信号ＭＣ
Ｓ１が出力される。チップセレクタ信号ＭＣＳ１は、選択部１１５を介してＲＡＭ１１６
に入力される。
【００３６】
エリア区分判定部１２０は、イン／アウトコマンドによって、ＲＡＭ１１６へのアクセ
スを可能とするための回路である。エリア区分判定部１２０内には、イン／アウトコマン
ドがＩ／Ｏへのアクセスを意味しているのか、ＲＡＭ１１６へのアクセスを意味している
のかを区分するための基準となるエリア区分データ１２１が格納されている。このデータ
は、予め固定値をハードウェア的に組み込んでおくようにしてもよいが、本実施例では、
ＲＯＭ１１４に記憶された基準値を読み込んで、起動時に設定するものとした。
エリア区分判定部１２０からは、Ｉ／Ｏデコーダ１２２をアクティブにするためのＩＯ
エリア識別信号、およびＲＡＭ１１６へのチップセレクタ信号ＭＣＳ０が出力される。
【００３７】
チップセレクタ信号ＭＣＳ０は、選択部１１５を介してＲＡＭ１１６に入力される。Ｒ
ＡＭ１１６は、メモリエリアデコーダ１１３からのチップセレクタ信号ＭＣＳ１、および
エリア区分判定部１２０からのチップセレクタ信号ＭＣＳ０のいずれかがアクティブとな
っていれば、アクセス可能である。従って、選択部１１５は、例えば、オアゲートによっ
て構成することができる。
【００３８】
ＩＯデコーダ１２２は、ＩＯエリア識別信号がアクティブとなっている時に稼働する。
ＩＯデコーダ１２２は、下位アドレスＡ７〜Ａ０の値に応じて、アクセス先となるべきＩ
Ｏを指定するためのチップセレクタ信号ＩＯＣＳ１、ＩＯＣＳ２等を出力する。チップセ
レクタ信号は、下位アドレスＡ７〜Ａ０のアドレス空間に相当する本数、出力可能である
。
【００３９】
図中には、Ｉ／Ｏポートの一つとして備えられているシリアルポートの構成を示した。
チップセレクタ信号ＩＯＣＳ１、ＩＯＣＳ２は、パラレル入出力ポート１２３内に設けら
れた受信バッファ１２３ｒ、送信バッファ１２３ｓに対応している。受信バッファ１２３
ｒ、送信バッファ１２３ｓの容量は、任意に設定可能であるが、本実施例では、データの
入出力が可能なサイズとして３２バイトの容量を確保した。これらのバッファは、いわゆ
るＦＩＦＯ（First In First Out1）型である。
受信バッファ１２３ｒは、シリアル入出力制御部１２４内に構成されたＳＰ（シリアル
／パラレル）変換部１２４ｓに接続され、送信バッファ１２３ｓは、ＰＳ（パラレル／シ
リアル）変換部１２４ｐに接続されている。外部からシリアル入力する際には、データは
、ＳＰ変換部１２４ｓによって８ビットのパラレルデータに変換され、受信バッファ１２
３ｒに蓄積される。ＣＰＵ１１１は、インコマンドによって、受信バッファ１２３ｒのデ
ータを読み取ればよい。また、外部にシリアル出力する際には、ＣＰＵ１１１は、アウト
コマンドによって送信バッファ１２３ｓにデータを格納すればよい。このデータは８ビッ
トのパラレルデータとしてＰＳ変換部１２４ｐに伝達され、シリアルデータに変換されて
、出力される。
【００４０】
図３は主制御基板１１０の動作を示す説明図である。先に説明した通り、本実施例では
、ＣＰＵ１１１は、ＲＡＭ１１６に対して、ロード／ストアコマンドと、イン／アウトコ
マンドの双方を用いてアクセスすることが可能である。図３では、かかるアクセスを実現
するため、ロードコマンド、インコマンドを例にとって、ＣＰＵ１１１、メモリエリアデ
コーダ１１３、エリア区分判定部１２０、ＩＯデコーダ１２２の機能をそれぞれ示した。
【００４１】
ＣＰＵ１１１が、ＬＤ（ロード）命令を出力したとする（処理Ｓ１）。メモリエリアに
直接アクセス可能とするため、ＬＤ命令では、アドレスＡ１５〜Ａ０の全てをコマンド内
で指定する必要がある。従って、図中に示す通り、このコマンドは、「ＬＤ、下位アドレ
ス、上位アドレス」という３バイトで構成される。ＬＤコマンド出力と併せて、ＭＲＥＱ
およびＲＤ信号がアクティブとなるが、図の煩雑化回避のため、図示を省略した。
【００４２】
メモリエリアデコーダ１１３は、アドレスに基づき、アクセス先が、ＲＯＭ１１４かＲ
ＡＭ１１６かを判定する（処理Ｓ２）。
ＲＯＭ１１４へのアクセスが指定されている場合には、ＲＯＭ１１４に対応するチップ
セレクタ信号ＭＣＳ２をアクティブにする。この結果、ＲＯＭ１１４内において、Ａ１２
〜Ａ０で指定された領域に格納されているデータが読み出される。
ＲＡＭ１１６へのアクセスが指定されている場合には、ＲＡＭ１１６に対応するチップ
セレクタ信号ＭＣＳ１をアクティブにする。この結果、ＲＡＭ１１６内において、下位ア
ドレスで指定された領域に格納されているデータが読み出される。この場合、ＣＰＵ１１
１は、ＲＡＭ１１６のメモリ領域（アドレス００Ｈ〜ＦＦＨ）のうち任意の領域にアクセ
ス可能である。ＲＡＭ１１６のメモリ領域は設定により５１２バイトおよび２５６バイト
に切り換えることが可能であるが、本実施例では、２５６バイトと設定されている場合を
例にとって説明する。
【００４３】
次に、ＩＮ命令を出力したとする（処理Ｓ３）。ＩＮ命令では、アクセス可能なＩＯが
下位アドレスで指定される２５６カ所に制限されているため、コマンドは図示する通り、
「ＩＮ、下位アドレス」の２バイトで構成される。
エリア区分判定部１２０は、エリア区分データに基づいて、アクセス先が、ＲＡＭかＩ
Ｏかを判別する（処理Ｓ４）。
例えば、図中のＲＡＭ１１６内のハッチングの領域（００Ｈ〜＊＊Ｈ）（以下、この領
域を「擬似ＲＡＭ領域」と呼ぶこともある）がＩＮ命令でもアクセス可能な領域として設
定されているとする。エリア区分判定部１２０は、下位アドレスＡ７〜Ａ０が、「００Ｈ
〜＊＊Ｈ」に含まれる場合には、アクセス先は擬似ＲＡＭ領域であると判断し、その他の
場合にはＩＯであると判断する。
【００４４】
アクセス先がＲＡＭ１１６と判断される場合には、エリア区分判定部１２０は、チップ
セレクタ信号ＭＣＳ０をアクティブにする。この結果、ＲＡＭ１１６内において、下位ア
ドレスで指定された領域に格納されているデータが読み出される。
アクセス先がＩＯであると判断される場合には、エリア区分判定部１２０は、ＩＯエリ
ア識別信号をアクティブにする。この結果、ＩＯデコーダ１２２が稼働し、下位アドレス
Ａ７〜Ａ０に基づいてＩＯ選択し、対応するチップセレクタ信号ＩＯＣＳ１、ＩＯＣＳ２
等をアクティブにする（処理Ｓ５）。
【００４５】
本実施例では、このように、ＲＡＭ１１６内に設けられた擬似ＲＡＭ領域には、ロード
／ストアコマンド、イン／アウトコマンドの双方でアクセスすることが可能である。擬似
ＲＡＭ領域は、任意に設定可能である。ＩＯへのアクセスに必要なアドレス空間を除き、
全てを擬似ＲＡＭ領域に割り当てても良い。擬似ＲＡＭは、上述の通り、イン／アウトコ
マンドでアクセスできる分、アクセス１回につき１バイトずつプログラム容量を削減する
ことができる。
擬似ＲＡＭ領域へのアクセスには、下位アドレスＡ７〜Ａ０をそのまま利用することが
できる点で、擬似ＲＡＭ領域は、ＲＡＭ１１６の先頭アドレスから設定することが好まし
い。
【００４６】
Ｂ２．ＲＡＭ１１６へのワークの割り当て：
図４はＲＡＭ１１６へのワークの割り当て方法を示す説明図である。ワークとは、ＣＰ
Ｕ１１１が種々の制御処理を実行する際に、制御処理間で受け渡すべき情報や、制御処理
を繰り返し実行する際に次回まで保持しておくべき情報などを格納しておくべき領域を言
う。本実施例では、ワークを構成する各変数は、ＲＡＭ１１６の所定のアドレスに格納さ
れるものとしたが、格納先のアドレスが不定のワークを設けても良い。
遊技機では、不正防止を図るため、ワークとして使用するＲＡＭ領域を先頭アドレスか
ら空き領域を設けることなく連続して設定することが要求されている。
【００４７】
ＲＡＭ１１６は、ワークの他、スタックとしても活用される。スタックには、ＣＰＵ１
１１が制御プログラムを実行する上で一時的に記憶すべき種々の情報を記憶する。記憶す
べき情報としては、例えば、使用中のレジスタの内容、サブルーチンを終了して本ルーチ
ンに復帰するときの本ルーチンの復帰アドレスなど、制御処理を進める上で一時的に記憶
する種々の情報の格納アドレスなどが挙げられる。
スタックへのデータの格納状態は、スタックポインタで管理される。スタックポインタ
は、上述のデータをスタックに順次、格納・読み出し可能とするために、スタック中での
最新の情報の格納場所を表している。本実施例では、スタックにデータが格納される度に
、スタックポインタのアドレスを「−１」ずつ変化させ、データが読み出される度に、ス
タックポインタのアドレスを「＋１」ずつ変化させる方法を採った。
【００４８】
ワークを先頭アドレスから連続した領域に設けるという条件を満たす限り、ワークおよ
びスタックは、ＲＡＭ１１６内の任意の領域に設定可能である。図４（ａ）は、一例とし
て本実施例での設定例を示した。
ＲＡＭ領域の下位アドレスを、先頭アドレス００Ｈ〜終端アドレスＦＦＨとする。図４
（ａ）の例では、擬似ＲＡＭ１１６Ａを先頭アドレス００Ｈから任意のアドレスｚｚＨの
範囲に設定した。また、ワーク１１６Ｗは先頭アドレス００Ｈから連続した領域に設定し
た。図中には、ワーク１１６Ｗのサイズが、擬似ＲＡＭ１１６Ａの領域を超えている例を
示した。
擬似ＲＡＭ領域を十分に確保可能であれば、ワークへのアクセス時に入出力ポートアク
セスコマンドを利用することによるプログラム削減効果を十分に得るために、擬似ＲＡＭ
１１６Ａをワーク１１６Ｗと同等以上とすることが好ましい。
【００４９】
一方、スタック１１６Ｓは、ＲＡＭ１１６の終端アドレスＦＦＨからアドレスが小さく
なる方向に設ける。つまり、スタックポインタには初期値としてＲＡＭ１１６の終端アド
レスＦＦＨを入力しておく。こうすることによって、データが格納されるたびに、スタッ
クポインタが「−１」ずつ変化するから、図示するように、アドレスが小さくなる側に向
けてデータが順次積み重ねられていく。図中に示したスタック１１６Ｓのサイズは予め決
められている訳ではなく、スタックに積み重ねられるデータ量によって変動する。
【００５０】
図４（ａ）の例では、ワーク１１６ＷをＲＡＭ１１６の先頭アドレスから使用し、スタ
ック１１６ＳをＲＡＭ１１６の終端アドレスから使用する。こうすることによって、スタ
ック１１６Ｓのサイズが変化した場合でも、ワーク１１６Ｗと干渉することを回避できる
。従って、ワーク１１６Ｗおよびスタック１１６Ｓで消費され得るメモリ容量に比較して
ＲＡＭ１１６の容量が十分に大きい場合には、制御プログラムの開発者は、スタック１１
６Ｓとの干渉を懸念することなく、ワーク１１６Ｗを設けることができる。この時、ＲＡ
Ｍ１１６の領域は、ワーク１１６Ｗ、スタック１１６Ｓ、およびいずれにも使用されない
未使用領域の３種類に区分されることになる。もっとも、上述の通り、スタック１１６Ｓ
は、動的に変動する領域である。
【００５１】
また、擬似ＲＡＭ領域はスタック１１６Ｓを避けて設けてある。一般にはスタック１１
６Ｓへのアクセスは、イン／アウトコマンドという入出力ポートアクセスコマンドは利用
できず、スタックコマンド、つまりプッシュ（ＰＵＳＨ）／ポップ（ＰＯＰ）コマンドが
利用される。スタックコマンドは、メモリにアクセスするためのコマンドではあるが、ア
クセスすべきアドレスはＣＰＵが内部的に管理・指定するものであり、コマンドで個別の
アドレスを指定することはできない点で、本明細書に言うメモリアクセスとは別種のコマ
ンドである。従って、擬似ＲＡＭ領域をスタック１１６Ｓに割り当てたとしても、入出力
ポートアクセスコマンドを活用することによるプログラムサイズ削減効果を得ることはで
きない。本実施例では、スタック１１６Ｓを避けて擬似ＲＡＭ領域を設けることにより、
上述の削減効果を無駄なく得ることが可能となっている。
【００５２】
更に、本実施例では先頭アドレスを含む連続領域を擬似ＲＡＭ領域に割り当てることに
よって、上述の削減効果を十分に得ることが可能である。
図４（ｂ）に、比較例として擬似ＲＡＭ領域を先頭アドレスからずらしたアドレス「ｘ
ｘＨ」〜「ｙｙＨ」に設けた場合を示した。このように設けた場合でも、ワーク１１６Ｗ
はＲＡＭ１１６の先頭アドレスから連続した領域に設ける必要がある。図４（ｂ）では、
先頭アドレス「００Ｈ」〜「ｘｘＨ」に配置されるワークへのアクセスにはメモリアクセ
スコマンドが利用される。擬似ＲＡＭ領域によるプログラムサイズ削減効果が得られるの
は、アドレス「ｘｘＨ」以降に配置される一部のワークに対してのみである。擬似ＲＡＭ
領域とワーク１１６Ｗのサイズによっては、図４（ｂ）に示すように、擬似ＲＡＭ領域の
終端がワーク１１６Ｗよりはみ出す可能性があり、このはみ出した部分については、プロ
グラム削減効果を得ることができなくなる。
これに対し、図４（ａ）のように先頭アドレスから擬似ＲＡＭ領域を配置すれば、ワー
ク１１６Ｗと擬似ＲＡＭ領域のサイズの関係に依らず、プログラム削減効果を十分に得る
ことが可能となる。
もっとも、図４（ａ）の設定が必須という訳ではなく、プログラム削減効果を重視しな
い場合には、図４（ｂ）のように擬似ＲＡＭ領域を設定しても差し支えない。
【００５３】
図４（ｃ）は、スタック１１６Ｓを終端アドレスからずらした場合の例である。図の例
では、アドレス「ｗｗＨ」よりもアドレスが小さくなる側にスタック１１６Ｓを設けた例
を示した。スタック１１６Ｓは、このように終端アドレスからずらして設けても良い。も
っとも、ワーク１１６Ｗおよびスタック１１６Ｓで使用し得るサイズをそれぞれ考慮して
、相互に干渉しない範囲で設けることが望ましい。また、このように終端アドレスからず
らしてスタック１１６Ｓを設ける場合でも、擬似ＲＡＭ領域はスタック１１６Ｓを避けて
設けることが好ましい。
【００５４】
ワーク１１６Ｗとスタック１１６Ｓとの間の未使用領域の一部はワーク１１６Ｗとスタ
ック１１６Ｓの隔離領域と位置づけても良い。先に説明した通り、スタック１１６Ｓは変
動する領域である。従って、ＲＡＭ１１６の容量によっては、スタック１１６Ｓがワーク
１１６Ｗを浸食するおそれもある。そこで、ワーク１１６Ｗとスタック１１６Ｓとの間に
隔離領域を設けておけば、かかる浸食を防ぐことが可能となる。
かかる作用を奏するため、隔離領域は、一切、データ書き込みが不能な領域としておけ
ばよい。例えば、メモリエリアデコーダ１１３およびエリア区分判定部１２０において、
隔離領域に対応するアドレスについては、チップセレクタ信号を出力しないように構成す
る方法を採ることができる。
【００５５】
以上の説明では、スタックポインタがデータ格納時に「−１」ずつされる場合を例示し
た。スタックの利用態様としては、データ格納時にスタックポインタが「＋１」ずつされ
る構成を採ることも可能である。この場合、図４（ａ）に示したのとは逆に、終端アドレ
ス側に向けて、データが積み重ねられることになる。
かかる場合には、図４（ｃ）に示すように、終端アドレスからずらした位置にスタック
１１６Ｓを設定することが好ましい。この場合でも、擬似ＲＡＭ領域とスタック１１６Ｓ
およびワーク１１６Ｗとは重ならないように配置することが好ましいから、スタック１１
６Ｓは、擬似ＲＡＭ領域の終端アドレスおよびワーク１１６Ｗの終端アドレスの大きい方
よりも、アドレスが大きい側に配置することが好ましい。
【００５６】
Ｃ．制御処理：
Ｃ１．主制御側電源投入時処理：
図５および図６は主制御側電源投入時処理の一例を示すフローチャートである。主制御
基板１１０のＣＰＵ１１１が電源投入による復電をトリガとして開始・実行する処理であ
る。「復電」は、電源を遮断した状態から電源を投入した状態、停電又は瞬停からその後
の電力の復旧した状態も含む。
【００５７】
処理が開始されると、ＣＰＵ１１１は、割り込みのモード、スタックポインタの初期値
、および、エリア区分判定部１２０（図２参照）にエリア区分データを設定する（ステッ
プＳ１０）。スタックポインタには、図４で示した通り、ＲＡＭ１１６の終端アドレスが
設定される。
エリア区分データは、先に説明した通り、擬似ＲＡＭ領域を規定するためのデータであ
る。本実施例では、予めＲＯＭ１１４に擬似ＲＡＭ領域の境界となる値、即ち図３の例で
は、アドレス「＊＊Ｈ」を記憶させておき、上記ステップＳ１０の処理でこれを読み出し
て、エリア区分判定部１２０に設定するものとした。このデータはブート時に設定するこ
ともできる。ブート時に設定されている場合には、ステップＳ１０の処理では、エリア区
分データの設定を省略することもできる。
【００５８】
次に、ＣＰＵ１１１は停電クリア信号をロウとする（ステップＳ１２）。停電クリア信
号をロウにすることにより、電源投入時に主制御基板に設けられた停電監視回路からの停
電予告信号をラッチするためのＤタイプフリップフロップのラッチ機能を一時的に停止す
ると共に、それ以前に検知（ラッチ）した停電予告信号をクリアする。ラッチ機能を一時
的に停止することにより、停電予告信号が常時監視可能な状態に切り替えることができる
。
【００５９】
ＣＰＵ１１１は、ウェイトタイマ処理１によって所定の待ち時間を経た後（ステップＳ
１４）、停電予告信号の状態を確認し、停電予告信号が停電を示す状態(停電予告信号が
ロウのとき)となっているか否かを判定する（ステップＳ１６）。停電を示す状態となっ
ている場合には、ウェイトタイマ処理１による待ち時間（ステップＳ１４）を経てから、
再度停電予告信号の状態を確認する。
このように、所定の待機時間を経た後に停電予告信号を確認するのは、停電予告信号が
、停電又は瞬停によってパチンコ機１への供給電圧が所定の停電予告電圧より低くなった
時に出力されるため、電源投入時に遊技機への供給電圧が所定電圧に達するまでは、一定
の時間を要するためである。これにより、供給電圧が不安定な状態で、主制御基板の遊技
機の制御に関する処理（ループ処理、タイマ割込処理）を実行しないようにすることが可
能となる。
【００６０】
停電予告信号が検出されず（ステップＳ１６）、電源電圧に異常がないと判断されたと
きには、ＣＰＵ１１１は停電クリア信号をハイ（出力を停止）にし（ステップＳ１８）、
停電監視回路から出力される停電予告信号を常時監視可能な状態からラッチ可能な状態に
切り替える。以後、供給電圧が停電予告電圧を下回ったときに、ラッチされた停電予告信
号が出力されるようになる。
【００６１】
ＣＰＵ１１１はＲＡＭクリアスイッチが操作されている時は（ステップＳ２０）。ＲＡ
Ｍクリア報知フラグＲＣＬに値１をセットし（ステップＳ２２）、操作されていないとき
には値００Ｈをセットする（ステップＳ２４）。ＲＡＭクリアスイッチが操作されると、
後述の通り、主制御基板１１０のＲＡＭ１１６上の確率変動、未払い出し賞球等の遊技に
関する遊技情報が消去されることになる。
【００６２】
次にＣＰＵ１１１はウェイトタイマ処理２で（ステップＳ２６）、装飾図柄制御基板３
５０の起動を待つ。但し、主制御基板１１０は装飾図柄制御基板３５０から起動完了の通
知を受信することはできないため、所定時間経過した時点で起動が完了したものとみなし
て次の処理を実行することになる。本実施例では、待機時間として２秒が設定されている
。
【００６３】
本実施例では、先に説明した通り、上述のウェイトタイマ処理２を行う前に、ＲＡＭク
リアスイッチの操作有無を判定している（ステップＳ２０）。ＲＡＭクリアを行う場合に
は、遊技場の係員は、通常、ＲＡＭクリアスイッチを押下した状態で電源を投入する。従
って、ウェイトタイマ処理２を行う前に、ＲＡＭクリアスイッチの操作有無を判断してお
くことにより、遊技場の係員が電源投入後、比較的短時間でＲＡＭクリアスイッチの押下
をやめてしまった場合でも、誤りなくＲＡＭクリアスイッチの操作の検出が可能となる利
点がある。
本実施例においても、ウェイトタイマ処理２の後にＲＡＭクリアスイッチの操作の有無
を検出する方法を採ることも可能である。ただし、この場合には、ＲＡＭクリアスイッチ
の操作が検出される前に、遊技場の係員が押下を中断してしまうおそれがあり、遊技場の
係員はＲＡＭクリアを行ったつもりでいても、結果としてＲＡＭクリア処理が行われない
まま遊技機の制御処理が開始されるおそれもある。ウェイトタイマ処理２の前にＲＡＭク
リアスイッチの操作を検出することによって、こうした弊害を回避することができる。
【００６４】
上述の通り早期にＲＡＭクリアスイッチの操作を確認する場合には、仮に、電源投入に
対してＲＡＭクリアスイッチの操作が遅れた場合には、ＲＡＭクリアスイッチが操作され
る前に、ステップＳ２０の検出処理が完了してしまい、ＲＡＭクリアが正しく行われなく
なるおそれもある。
かかる弊害を回避するため、ウェイトタイマ処理２（ステップＳ２６）が完了した後に
、再度、ＲＡＭクリアスイッチの操作を検出するようにしてもよい。例えば、後述するス
テップＳ２８とＳ３０の間に検出処理を設ける方法が考えられる。こうすることによって
、ＲＡＭクリアスイッチの操作が電源投入から若干、遅れて行われた場合でも、ＲＡＭク
リアを行うことが可能となる。
ＲＡＭクリアスイッチの操作の検出タイミングは、このように種々の設定が可能である
。本実施例のように、ウェイトタイマ処理２の前でのみ検出するようにしてもよい。また
、ウェイトタイマ処理２の後にのみ行うようにしてもよいし、ウェイト処理２を挟む前後
で行うようにしてもよい。
また、ウェイトタイマ処理２の期間中、ＲＡＭクリアスイッチを継続的に監視し、ＲＡ
Ｍクリアスイッチの操作が検出された場合には、所定のフラグをオンにするなどの方法で
検出結果を示すようにしてもよい。この場合、ＲＡＭクリアスイッチの操作が検出された
か否かに関わらず、ウェイトタイマ処理２で規定された待ち時間が確保されるよう、プロ
グラムを構成しておくことが好ましい。
【００６５】
ウェイトタイマ処理２（図５のステップＳ２６）が終わった後の処理について、引き続
き説明する。
ＣＰＵ１１１は、ＲＡＭクリア報知フラグＲＣＬが値０である時（図６のステップＳ２
８）、即ちＲＡＭクリアスイッチが操作されていない時には、ＲＡＭ１１６に記憶されて
いる遊技情報のチェックサムを算出する（ステップＳ３０）。そして、チェックサムの値
が前回の電源断時に予め算出されバックアップされていたチェックサムの値と一致してい
るか否かを判定する（ステップＳ３２）。本実施例では、電源断時におけるチェックサム
の算出と、電源投入時におけるチェックサムの算出（ステップＳ３０）とは共通のサブル
ーチンで行うものとした。こうすることにより、チェックサムの算出自体の差異によるエ
ラーの発生を回避できるからである。
チェックサムが一致しているときには、バックアップフラグＢＫが値１であるか否かを
判定する（ステップＳ３４）。バックアップフラグＢＫは、前回の電源断時に、遊技情報
、チェックサムの値などが正常にバックアップされていることを表すフラグである。
バックアップフラグＢＫが値１であるときには、ＣＰＵ１１１はバックアップフラグＢ
Ｋに値０をセットし、ＲＡＭ１１６にＲＯＭ１１４から読み出した復電時の設定を行う（
ステップＳ３６）。また、電源投入時コマンド作成処理、つまりバックアップされていた
遊技情報に応じた各種コマンドをＲＡＭ１１６の所定記憶領域に記憶させる処理を行う（
ステップＳ３８）。
【００６６】
上述の通り、本実施例では、チェックサムによってバックアップ情報が正常か否かを検
査するとともに、バックアップフラグＢＫに基づいて主制御側電源断時処理が正常に終了
された否かを検査している。本実施例では、この２重チェックによってバックアップ情報
が不正行為により記憶されたものであるか否かを検査しているのである。
【００６７】
一方、ＲＡＭクリア報知フラグＲＣＬが値１のとき（ステップＳ２８）、つまりＲＡＭ
クリアスイッチが操作されているときには、後述する通りＲＡＭ１１６を初期化する処理
を行う。チェックサムの値が一致していないとき、またはバックアップフラグＢＫが値０
であるときも同様である（ステップＳ３２、Ｓ３４）。バックアップが正常に行われてい
ないと判断されるからである。
ＲＡＭ１１６の初期化として、ＣＰＵ１１１は、ＲＡＭの全領域クリア処理、つまり、
ＲＡＭ１１６の全領域に値００Ｈを書き込むことによって、ＲＡＭ１１６をクリアする処
理を行う（ステップＳ４０）。この処理によって、大当たり判定用乱数や初期値更新型の
カウンタ等の値は初期値０にセットされる。ＲＡＭの全領域クリア処理の処理方法は後述
する。
【００６８】
ＲＡＭの全領域とは、ＲＡＭの使用可能な全領域を意味する。本実施例では、ＲＡＭに
物理的に備えられた全領域を使用するか、その半分を使用するかを、設定によって切換可
能とした。後者の場合には、使用可能に設定された領域が、ＲＡＭクリア処理の対象とし
ての「全領域」に該当する。
【００６９】
次に、ＣＰＵ１１１はＲＯＭ１１４から読み出した初期情報をＲＡＭ１１６にセットす
る（ステップＳ４２）。
そして、ＣＰＵ１１１はＲＡＭクリア報知を行う（ステップＳ４４）。ＲＡＭクリア報
知とは、ＲＡＭクリアが行われたことを報知する音声出力を指示するＲＡＭクリア報知コ
マンドをサブ制御基板３１０に出力する処理である。
【００７０】
以上の処理を完了すると、ＣＰＵ１１１は割り込み初期設定を行い（ステップＳ４６）
、タイマ割り込み処理の割り込み周期を設定する。本実施形態では割り込み周期は４ｍｓ
とした。
ＣＰＵ１１１が割り込み許可設定を行うと（ステップＳ４８）、上述の割り込み周期で
タイマ割り込み処理が繰り返し行われるようになる。
【００７１】
次にＣＰＵ１１１は主制御側メイン処理を実行する。
この処理は、ウォッチドッグタイマ初期化レジスタ（以下、単に「ＷＣＬ」と称する場
合もある）に予め設定された値Ａをセットする（ステップＳ５０）。これはウォッチドッ
クタイマを初期化するために必要な処理の一つである。本実施例では、この値Ａの他、後
述する主制御タイマ割り込み処理において、値Ｂ、値Ｃが順次、設定された時に、ウォッ
チドックタイマが初期化されるように構成されている。
図示する通り、主制御側メイン処理はループを構成しているため、この処理が正常に繰
り返されるとともに、主制御タイマ割り込み処理が周期的に行われる限り、ＷＣＬには、
値Ａ、Ｂ、Ｃが順に設定され、ウォッチドッグタイマは常に初期化され続ける。これに対
し、ＣＰＵ１１１の処理に異常が生じると、ＷＣＬの初期化が規定通りに正しく行われな
くなるため、ＣＰＵ１１１にリセットがかかり、ＣＰＵ１１１は電源投入時の処理（ステ
ップＳ１０）から再度実行することになる。
【００７２】
ＷＣＬに値Ａを設定した後、停電予告信号の入力がないときには（ステップＳ５２）、
ＣＰＵ１１１は非当落乱数更新処理を行う（ステップＳ５４）。非当落乱数とは、遊技中
に用いられる乱数のうち抽選の当落判定にかかわらない乱数である。かかる乱数としては
、例えば、抽選時に行われる変動表示のパターンを選択するための乱数が挙げられる。
ＣＰＵ１１１は、主制御側メイン処理として、以上で説明したステップＳ５０〜ステッ
プＳ５４を繰り返し行う。
【００７３】
一方、停電予告信号が入力されている場合（ステップＳ５２）、ＣＰＵ１１１は主制御
側電源断時処理を行う。停電予告信号は、パチンコ遊技機１の電源が遮断されることによ
り、基準電圧が停電予告電圧より低くなった時に、主制御基板が発する信号である。
【００７４】
主制御側電源断時処理では、ＣＰＵ１１１はまず割り込み禁止設定を行う（ステップＳ
５６）。ＲＡＭ１１６のチェックサム算出中に、主制御側タイマ割り込み処理が行われて
ＲＡＭ１１６への書き込みがなされることを防ぐためである。
ＣＰＵ１１１は、次に停電クリア信号を出力する（ステップＳ５８）。また、遊技盤面
に設置された種々のソレノイドやランプ等に出力している駆動信号を停止する。
そして、ＲＡＭ１１６の遊技情報に基づいてチェックサムを算出し（ステップＳ６０）
、バックアップフラグＢＫに値１をセットする（ステップＳ６２）。これによりバックア
ップ情報の記憶が完了する。
【００７５】
本実施例では、主制御側電源断時処理時には、以下に示す理由により、レジスタをバッ
クアップする必要はない。つまり、実施例では、主制御側ループ処理のステップＳ５２で
、停電予告信号の状態を確認し、この信号が停電となる状態を示している場合に主制御側
電源断時処理へ分岐している。停電となる状態とは、例えば、停電時にハイ、非停電時に
ロウとなる停電予告信号を用いる場合には、停電予告信号がハイとなることを意味する。
このように、実施例では、予め決められた条件で、主制御側電源断時処理に移行するため
、移行に際して、ループ処理や割込処理が中断されることがない。従って、実施例では、
主制御側電源断時処理内でレジスタの内容をＲＡＭ１１６に退避する必要がないのである
。本実施例の方法によれば、電源投入時に、スタックエリアの情報については、正しいか
否かを判断する必要がないため、ＣＰＵ１１１の処理負荷が軽減される利点がある。
【００７６】
本実施例の態様に対し、停電予告信号が停電となる状態を示している場合に、ノン・マ
スカブル・インタラプト信号をＣＰＵ１１１に入力し、不定期で主制御側電源断時処理を
開始できるように構成してもよい。この場合には、主制御側電源断時処理を開始するタイ
ミングに応じてレジスタの内容が変化する。従って、主制御側電源断時処理では、レジス
タの内容をＲＡＭ１１６にバックアップしておくことが好ましい。また、チェックサムは
、このバックアップした値も含めて求めることが好ましい。
【００７７】
その後、ウォッチドックタイマの初期化を行って（ステップＳ６４）、無限ループに入
ると、電源が遮断されることによりＣＰＵ１１１の動作は停止する。但し、電源が遮断さ
れない場合には、無限ループ内で、ウォッチドックタイマが初期化されなくなるため、所
定時間経過後にＣＰＵ１１１にリセットがかかり、ＣＰＵ１１１は主制御側電源投入時処
理（ステップＳ１０）から再び行う。
【００７８】
本実施例では、主制御側電源投入時処理および主制御側電源断時処理の双方でチェック
サムを算出している（ステップＳ３０、Ｓ６０）。チェックサムは、サブルーチンを用い
ることなく、それぞれ主制御側電源投入時処理および主制御側電源断時処理内に直接組み
込んでもよいが、双方で共通に用いられるサブルーチンとしておくことが好ましい。こう
することにより、プログラム容量を低減することができる。
チェックサムは、種々の方法で算出可能である。また、精度向上を図るため、異なる２
種類以上の演算方法を併用するようにしてもよい。例えば、加算、減算を交互に繰り返す
方法を採ることができる。別の態様として、加算方式でチェックサムを算出し、結果が一
致していた場合には、減算方式など別の方法で算出して、再度、確認するようにしてもよ
い。
【００７９】
チェックサムの算出には、ＲＡＭ１１６の任意の情報を用いることが可能であるが、ワ
ーク内の２バイト以上の情報を含めることが好ましい。こうすることにより、最も重要な
情報を用いて整合性を確認することができる。
また、主制御側電源断時処理の実行タイミングが一定ではなく、ノン・マスカブル・イ
ンタラプトによって不定期に実行される場合のように、主制御側電源断時処理の実行時に
レジスタの情報もＲＡＭ１１６のスタックに退避しておく場合には、ワークとスタックエ
リア用の双方の情報を利用してチェックサムを算出することが好ましい。例えば、ワーク
の情報と、スタックエリアの情報を用いて、それぞれチェックサムを算出してもよいし、
双方の情報を混在させてチェックサムを算出してもよい。
【００８０】
また、本実施例では、ＲＡＭ１１６の内容はバッテリによって保持されるため、チェッ
クサムを算出するだけでバックアップ処理を完了している（ステップＳ６０、Ｓ６２）。
これに対し、ＲＡＭ１１６内に、バックアップ用の領域を設け、ワークの全部または主要
な部分の情報を併せて退避しておくようにしてもよい。こうすることで、制御上の重要な
情報をより確実にバックアップすることが可能となる。
バックアップ領域には、例えば、ワーク等の情報を、ビット反転させて格納してもよい
。こうすることによって、本来のワークの値と、バックアップ領域の値との排他的論理和
（ＸＯＲ）がＦＦＨとなれば、これらのデータは正常であると容易に判断することが可能
となる。
【００８１】
バックアップ領域にバックアップ情報を格納する処理は、例えば、主制御側電源断時処
理内で行うことができる。また、主制御側メイン処理のループ内で行うようにしてもよい
。主制御側メイン処理のループ内で行う場合には、バックアップ情報の格納時にワークの
情報が変わってしまうことを避けるため、割込禁止とした上で格納を行うことが好ましい
。
主制御側メイン処理のループ内でバックアップ情報の格納を行う場合、無駄な処理を抑
制するため、一旦、バックアップ情報の格納が行われた後は、主制御側タイマ割り込み処
理が行われるまで、情報の格納を省略するようにしてもよい。同様の効果を、比較的簡易
な制御処理で実現するため、主制御側メイン処理のループ内での情報の格納に代えて、主
制御側タイマ割り込み処理が行われた後、主制御側メイン処理に復帰する直前にバックア
ップ情報を格納するようにしてもよい。こうすれば、主制御側タイマ割り込み処理が行わ
れる度に、バックアップ情報を更新することが可能となる。
【００８２】
また、バックアップ領域を複数、設け、バックアップ情報の格納を行うたびに、これら
の領域を順次、使い分けるようにしてもよい。こうすることにより、過去の複数時点での
バックアップ情報を格納することが可能となる利点がある。
【００８３】
ＲＡＭ内のバックアップ領域に退避されたワークの情報は、その後、主制御側電源投入
時処理が実行された時に、次の方法で活用することができる。説明の便宜上、ここではＣ
ＰＵ１１１が制御処理において参照するワークをメインワークと称し、バックアップ領域
に退避されたワークをサブワークと称するものとする。
電源投入時には、ＣＰＵはメインワークの内容、サブワークの内容が正常か否かを、そ
れぞれチェックサムによって確認する（図６のステップＳ３０、Ｓ３２）。メインワーク
の内容が正常な場合には、そのまま制御処理を続ければよい。メインワークが誤っており
、サブワークが正しい場合には、サブワークの内容をメインワークに上書きして制御処理
を続ける。メインワークおよびサブワークの双方が誤っている場合には、ＲＡＭクリアを
行う（図６のステップＳ４０）。
こうすることによって、サブワークの情報を制御処理に有効活用することが可能となる
。
サブワークの情報をメインワークに上書きした場合、サブワークの情報はそのまま放置
してもよい。ＣＰＵ１１１は、制御処理においてサブワークの情報を直接参照することは
ないからである。ただし、ノイズ等の影響で、ＣＰＵ１１１が、サブワークに記憶されて
いる情報を誤って参照してしまい処理に悪影響を受けるおそれが、ないとは言えないため
、サブワークは初期化しておいた方が好ましい。
【００８４】
Ｃ２．ＲＡＭの全領域クリア処理：
図７はＲＡＭの全領域クリア処理のフローチャートである。主電源側電源投入時処理（
図５、図６）のステップＳ４０の処理内容に相当する。
説明の便宜上、図７ではＲＡＭの全領域クリア処理が一つのサブルーチンであるかのよ
うに記載しているが、本実施例では、サブルーチンではなく、図６のステップＳ４０内で
、これらの処理を実行する形を取っている。この処理は、図示する通り、比較的単純な処
理であるため、サブルーチン化した場合、サブルーチンの実行時に、サブルーチン終了後
の戻りアドレスをスタックに記憶させるなどの処理が必要となり、ＲＡＭの全領域クリア
処理に時間を要するからである。サブルーチンによらずに、ステップＳ４０内で行うよう
にすれば、こうした無駄を抑制でき、効率的にＲＡＭ１１６をクリアすることが可能とな
る。
もっとも、本実施例は、ＲＡＭクリア処理をサブルーチンで実行することを排除するも
のではない。ＲＡＭクリア処理をサブルーチンで実行する場合には、上述の通り、サブル
ーチン終了後の戻りアドレスをスタックに記憶されるとともに、この値を保持するため、
スタックを除く領域についてのみ初期化値を書き込むものとする必要がある。
【００８５】
ＲＡＭの全領域クリア処理では、ＣＰＵ１１１は、まず、擬似ＲＡＭ領域をクリアする
処理を行う。図の右側に、ＲＡＭ１１６の領域との関係を示した。ハッチングを付した部
分（アドレス００Ｈ〜＊＊Ｈ）が擬似ＲＡＭ領域１１６Ａとする。ＣＰＵ１１１は、アド
レスを００Ｈ〜＊＊Ｈで変化させながら、アウト（ＯＵＴ）命令を繰り返し実行して、こ
の領域に初期化値として００Ｈを順次、書き込むのである。
【００８６】
上述の処理は、次の手順で行われる。ＣＰＵ１１１は、まず書き込み先のアドレス（以
下、「クリアアドレス」という）としてＲＡＭ１１６の先頭アドレス００Ｈを設定する（
ステップＳ４１ａ）。また、ループ回数として、擬似ＲＡＭ領域の終端アドレスに１を加
えた「＊＊Ｈ＋１」を設定する（ステップＳ４１ｂ）。「＊＊Ｈ」でなく「＊＊Ｈ＋１」
とするのは、アドレス＊＊Ｈまで、書き込みが行われるようにするためである。
【００８７】
次に、ＣＰＵ１１１は、クリアアドレスにアウト（ＯＵＴ）命令で初期化値００Ｈを書
き込む（ステップＳ４１ｃ）。この書き込みが終わると、ＣＰＵ１１１は、クリアアドレ
スを１だけ加算することによって、書き込むべきアドレスを一つ進め（ステップＳ４１ｄ
）、ループ回数を１ずつ減らす（ステップＳ４１ｅ）。以上の処理を、ループ回数が０と
なるまで（ステップＳ４１ｆ）、繰り返し実行することにより、ＣＰＵ１１１は擬似ＲＡ
Ｍ領域の全アドレスに初期化値００Ｈを書き込むことができる。
【００８８】
擬似ＲＡＭ領域のクリアを終えると、ＣＰＵ１１１は、擬似ＲＡＭ領域を除く領域（右
側の図の白抜きの領域）に対して、メモリアクセスコマンドであるストア（ＳＴ）命令を
用いて初期化値００Ｈを書き込む。
上述の処理は、次の手順で行われる。ＣＰＵ１１１は、クリアアドレスとして擬似ＲＡ
Ｍ領域の終端アドレスの次のアドレスである「＊＊Ｈ＋１」を設定する（ステップＳ４１
ｇ）。また、ループ回数として、ＲＡＭ領域の終端アドレスと擬似ＲＡＭ領域の終端アド
レスとの差である「ＦＦＨ−＊＊Ｈ」を設定する（ステップＳ４１ｈ）。
【００８９】
次に、ＣＰＵ１１１は、クリアアドレスにストア（ＳＴ）命令で初期化値００Ｈを書き
込む（ステップＳ４１ｉ）。この書き込みが終わると、ＣＰＵ１１１は、クリアアドレス
を１だけ加算することによって、書き込むべきアドレスを一つ進め（ステップＳ４１ｊ）
、ループ回数を１ずつ減らす（ステップＳ４１ｋ）。以上の処理を、ループ回数が０とな
るまで（ステップＳ４１ｍ）、繰り返し実行することにより、ＣＰＵ１１１は擬似ＲＡＭ
領域以外の全アドレスに初期化値００Ｈを書き込むことができる。
【００９０】
図８はＲＡＭの全領域クリア処理の変形例である。この処理では、メモリアクセス命令
であるストア（ＳＴ）命令のみを用いて初期化値の書き込みを行う。先に説明した通り（
図２）、本実施例では、擬似ＲＡＭ領域は、入出力ポートアクセスコマンドと、メモリア
クセスコマンドの双方によってアクセス可能に構成されている。従って、全領域クリア処
理では、擬似ＲＡＭ領域も含めて、全領域にストア（ＳＴ）命令を用いて００Ｈを書き込
むことも可能である。
この書き込みの状態を図の右側に模式的に示した。ＲＡＭ１１６には、図７の例と同様
、擬似ＲＡＭ領域１１６Ａが設けられている。但し、変形例では、先頭アドレス００Ｈか
ら終端アドレスＦＦＨまで、一貫してメモリアクセスコマンドを用いて書き込みを行うの
である。メモリアクセスコマンドを用いるという意味で、全領域を白抜きで示した。
【００９１】
上述の処理は、次の手順で行われる。ＣＰＵ１１１は、クリアアドレスとしてＲＡＭ１
１６の先頭アドレスである「００Ｈ」を設定する（ステップＳ４１ｐ）。また、ループ回
数としてＲＡＭ１１６の終端アドレスに１を加えた「ＦＦＨ＋１」を設定する（ステップ
Ｓ４１ｑ）。
【００９２】
次に、ＣＰＵ１１１は、クリアアドレスにストア（ＳＴ）命令で初期化値００Ｈを書き
込む（ステップＳ４１ｒ）。この書き込みが終わると、ＣＰＵ１１１は、クリアアドレス
を１だけ加算することによって、書き込むべきアドレスを一つ進め（ステップＳ４１ｓ）
、ループ回数を１ずつ減らす（ステップＳ４１ｔ）。以上の処理を、ループ回数が０とな
るまで（ステップＳ４１ｕ）、繰り返し実行することにより、ＣＰＵ１１１は擬似ＲＡＭ
領域以外の全アドレスに初期化値００Ｈを書き込むことができる。
【００９３】
変形例の処理では、全領域にストア（ＳＴ）命令を用いることにより、全領域クリア処
理に要するプログラムサイズを抑制することができる利点がある。図７では、アウト命令
による書き込みを行うための処理（ステップＳ４１ａ〜Ｓ４１ｆ）と、ストア命令での書
き込みを行うための処理（ステップＳ４１ｇ〜Ｓ４１ｍ）の２段階での処理が必要となる
のに対し、図８では、ストア命令での書き込みを行うための処理のみで済むからである。
つまり、変形例の処理では、図７におけるステップＳ４１ｇ〜Ｓ４１ｍに相当する処理の
みでクリア処理を行うことが可能となっている。
もっとも、変形例（図８）では、ストア命令で書き込みを行う範囲が図７よりも広がっ
ている。しかし、これはクリアアドレスおよびループ回数の設定値が変わるだけのことで
あり、書き込み処理自体のプログラムサイズは増加しない。従って、コマンド単体のバイ
ト長は、ストア命令の方がアウト命令よりも長いにも関わらず、全体にストア命令を用い
た方が、全領域クリア処理の全体のプログラムサイズを減少させることが可能となるので
ある。
【００９４】
上述の例では、ＲＡＭ領域の先頭から順に初期化値を書き込む例を示したが、ＲＡＭク
リア処理は、ＲＡＭ領域の終端アドレスＦＦＨから００Ｈに向けて、順に初期化値を書き
込む方法で行っても良い。
【００９５】
ＲＡＭクリア処理は、ＲＡＭの全領域を対象として行うようにしてもよいし、一部のみ
を対象として行うようにしてもよい。こうすることで、ＲＡＭクリア処理によって初期化
値の書き込み対象となる領域が少なくなる分、ＲＡＭクリア処理の負荷が軽減される利点
がある。
例えば、図４で説明したように未使用領域や隔離領域が含まれている場合には、これら
の領域は、ＲＡＭクリア処理の対象外としてもよい。
また、ＲＡＭクリア処理は、ワーク（図４参照）を対象として行うことが好ましいが、
この際、スタックをＲＡＭクリアの対象に含めても良いし、除外してもよい。
制御処理上、許容される場合には、ワークの一部のみを初期化の対象としてもよい。例
えば、特別図柄、普通図柄、特別電動役物制御、普通電動役物制御など遊技の動作を決定
する主要なワークのみを初期化対象とすることが考えられる。
【００９６】
更に、ＲＡＭクリア処理の対象領域は、必ずしもチェックサムの算出に用いた領域と対
応している必要もない。例えば、ワークの一部または全部を用いてチェックサムを算出す
る場合であっても、チェックサムによってＲＡＭクリア処理が必要と判断された時には、
ＲＡＭ全体についてＲＡＭクリア処理を行うようにしてもよい。
【００９７】
Ｃ３．主制御側タイマ割り込み処理：
図９は主制御側タイマ割り込み処理のフローチャートである。主制御基板１１０のＣＰ
Ｕ１１１によって、所定の割り込み周期（本実施形態では、４ｍｓ）ごとに繰り返し行わ
れる処理である。
処理を開始すると、ＣＰＵ１１１は、レジスタを退避してから（ステップＳ７０）ウォ
ッチドックタイマクリアレジスタＷＣＬに値Ｂをセットし（ステップＳ７２）、割り込み
フラグをクリアする（ステップＳ７４）。レジスタの退避は、擬似ＲＡＭ以外の領域に行
う。本実施例では、スタックに退避するものとした。
以下、ＣＰＵ１１１は、図示する各処理を順次、実行する。これらの処理の実行順序は
、図示した順序に限らない。
【００９８】
スイッチ入力処理（ステップＳ７６）はパチンコ機の各種スイッチの信号を入力する処
理である。入力する信号としては、普通入賞口、始動入賞口、大入賞口に入球した遊技球
の検出信号、賞球の払出コマンドの受信時に払出制御基板２１０が出力するＡＣＫ信号、
などが挙げられる。
【００９９】
タイマ減算処理（ステップＳ７８）は、種々の時間管理に利用されるタイマ値を減算す
る処理である。初期値が設定されたタイマ値が、この減算処理によって４ｍｓずつ減算さ
れ、値０になることで、初期値に相当する時間の経過を検出することができる。タイマ値
は、管理対象となる時間ごとに設けられている。管理対象となる時間としては、例えば、
変動表示パターンに従って特別図柄表示装置４１が点灯する時間、普通図柄変動表示パタ
ーンに従って普通図柄表示器が点灯する時間、払出制御基板２１０からのＡＣＫ信号を入
力するまでの所要時間などが挙げられる。
【０１００】
当落乱数更新処理（ステップＳ８０）は、遊技中に抽選等に利用される種々の乱数値を
更新する処理である。本実施例では、抽選等の度に乱数を発生させる方法ではなく、ステ
ップＳ７６の処理によって、種々の乱数値を値１ずつカウントアップする方法をとってい
る。このように乱数を規則的に変化させたとしても、入賞口への入球など、各乱数を使う
ことになるイベントが不規則に発生するため、十分、抽選用の乱数として機能するのであ
る。カウントアップに加えて、乱数が一巡したときには、乱数の初期値を切り換える処理
も併用している。
ここで更新される乱数としては、例えば、大当たりの判定に使用される大当たり判定用
の乱数などが挙げられる。また普通図柄に関しては、普通図柄の当たり判定に使用される
普通図柄当り判定用乱数などが挙げられる。
【０１０１】
賞球制御処理（ステップＳ８２）は、払出制御基板２１０へのコマンド送出処理である
。例えば、遊技球が入賞した時には、遊技球を払い出す旨を払出制御基板２１０に指示す
る賞球コマンドを作成し、払出制御基板２１０に送信する。また、払出制御基板２１０か
らＡＣＫ信号が所定時間内に入力されないときには、払出制御基板２１０との接続状態を
確認するためのセルフチェックコマンドなどを作成し、払出制御基板２１０に送信する。
【０１０２】
枠コマンド受信処理（ステップＳ８４）は、パチンコ機の枠側に取り付けられている払
出制御基板２１０から送信されるコマンドを主制御基板１１０で受信する処理である。払
出制御基板２１０のコマンドには、例えば賞球ユニットが球がみを起こして遊技球を払い
出せないなどの異常を表す状態コマンドが挙げられる。
【０１０３】
不正行為検出処理（ステップＳ８６）は、入賞口への入賞に関する異常状態を確認し報
知する処理である。例えば、大当たり遊技状態でないときに大入賞口に遊技球が入球した
のを検知した場合には、ＣＰＵ１１１は異常と判断して入賞異常報知コマンドを作成し、
サブ制御基板３１０に出力する。
【０１０４】
特別図柄及び特別電動役物制御処理（ステップＳ８８）では、ＣＰＵ１１１は、まず始
動入賞口への入賞検出に応じて、大当たり判定用の乱数を予め記憶されている判定値と比
較して、大当たりか否かを判定する。また、判定結果に応じて、図柄用および変動表示用
の乱数値に基づいて、表示すべき図柄およびその変動パターンを決定し、その演出を行わ
せるための遊技演出コマンドを作成する。大当たりと判定されたときは、図柄変動の停止
後に遊技盤の大入賞口の開閉板を開閉動作させる駆動信号を出力する。
【０１０５】
普通図柄及び普通電動役物制御処理（ステップＳ９０）でも同様に、ＣＰＵ１１１は、
普通図柄当り判定用乱数に基づく当たり判定、普通図柄の変動制御および当たり時におい
て入賞口の開閉翼を開閉動作させるための開閉翼ソレノイドの駆動制御を行う。
【０１０６】
ポート出力処理（ステップＳ９２）は、上述の種々の処理で説明した大入賞口や普通電
動役物の開閉翼ソレノイド等の信号を、主制御Ｉ／Ｏポートの出力端子から出力する処理
であり、サブ統合基板コマンド送信処理（ステップＳ９４）は、上述の種々の処理で設定
した演出制御用のコマンドをサブ制御基板３１０に出力する処理である。
本実施例では、ＣＰＵ１１１は、上述の各処理の実行時には、それぞれ出力すべき情報
およびコマンドを設定してＲＡＭ１１６に記憶させておき、ポート出力処理およびサブ統
合基板コマンド送信処理において、ＲＡＭ１１６から情報・コマンドを読み出して出力す
る方法をとっている。
【０１０７】
ＣＰＵ１１１は、以上の処理を終えた後、ウォッチドックタイマ初期化レジスタＷＣＬ
に値Ｃをセットする（ステップＳ９６）。この処理、ステップＳ７２の処理、および主制
御側メイン処理（図５のステップＳ５０）によって、ウォッチドックタイマ初期化レジス
タＷＣＬには、値Ａ、値Ｂそして値Ｃが順にセットされるため、ウォッチドックタイマが
初期化される。
【０１０８】
主制御側タイマ割り込み処理が開始された時点で、ＣＰＵ１１１は、汎用レジスタの内
容をスタックに積んで退避させる。従って、以上の処理を完了すると、ＣＰＵ１１１は、
スタックに積んで退避した内容を読み出し、もとのレジスタに書き込むことによって、レ
ジスタの復帰を行い（ステップＳ９８）、割り込み許可の設定を行って、このルーチンを
終了する。
【０１０９】
Ｃ４．サブ統合側処理：
サブ制御基板３１０は、主制御基板１１０からのコマンドに応じて、種々の演出制御を
行う。
図示を省略するが、サブ制御基板３１０が実行する処理も、主制御側メイン処理（図６
）と同様のループと、主制御側タイマ割り込み処理（図９）と同様の割込処理から構成さ
れる。サブ制御基板３１０は２ｍｓ周期で割り込み処理を実行するとともに、１６ｍｓ周
期で「１６ｍｓ定常処理」を実行する。
この１６ｍｓ定常処理では、主制御基板１１０からの各種コマンドを解析するコマンド
解析処理、パネル装飾ランプ１２、枠装飾ランプ３１（図１参照）の点灯制御を行うラン
プ処理、演出用の音声や警報音などの出力処理、装飾図柄制御基板３５０を介してＬＣＤ
１６に演出用の画面を表示させる処理、ＣＰＵが正常に動作していることを示すウォッチ
ドックタイマ処理、および役物の駆動パターンをスケジューラにセットする処理等を行う
。
【０１１０】
サブ制御基板３１０は、１６ｍｓ定常処理を繰り返し実行する他、種々の割り込み処理
を行う。かかる割り込み処理としては、２ｍｓタイマ割り込み、コマンド受信割り込み処
理、コマンド受信終了割り込み処理があげられる。
【０１１１】
Ｃ５．払出制御基板の制御処理：
払出制御基板２１０は、主制御基板１１０からの指示に従って、遊技媒体の払い出しを
制御する。
払出制御基板２１０が実行する制御処理は、主制御基板１１０と同様、ループ状のメイ
ン処理とタイマ割込処理とから構成することも可能であるが、本実施例では、メイン処理
内で払出に必要な処理を繰り返し実行するものとした。
【０１１２】
Ｄ．プログラム容量削減効果：
実施例で説明した種々の制御処理において、主制御基板１１０が出力する種々のコマン
ドは、一旦、ＲＡＭ１１６に蓄えられた後、所定のタイミングでＲＡＭ１１６から読み出
されて出力される。また、制御処理で用いられる種々のフラグや、情報もＲＡＭ１１６上
に構築されたワークを利用して管理されている。
このように、実施例の制御処理では、ＲＡＭ１１６に頻繁にアクセスが行われる。
【０１１３】
本実施例では、主制御基板１１０のＣＰＵ１１１は、それぞれＲＡＭ１１６に対して、
ロード／ストアコマンドおよびイン／アウトコマンドの双方でアクセスすることができる
。このように擬似ＲＡＭは、イン／アウトコマンドでアクセスできる分、アクセス１回に
つき１バイトずつプログラム容量を削減することができる。プログラム中に擬似ＲＡＭへ
のイン／アウトコマンドでのアクセス箇所が増えるほど、プログラム容量の削減効果は大
きくなる。
【０１１４】
図１０は擬似ＲＡＭの効果を示す説明図である。ある遊技機において、擬似ＲＡＭの有
無でのプログラム容量の変化を比較して示した。
最上段は、擬似ＲＡＭを設けない場合である。つまり、ＲＡＭへのアクセスは、全てロ
ード／ストアコマンドによって行われる場合を示している。この時の容量は５５０バイト
強となっている。
２〜４段目は、擬似ＲＡＭを設けた場合である。それぞれ擬似ＲＡＭの容量を６４バイ
ト、１２８バイト、１９２バイトに変化させた場合を示した。図示する通り、プログラム
の容量は、擬似ＲＡＭが６４バイトの場合に１０％、１２８バイトの場合に１８％、１９
２バイトの場合に３１％削減される。
このように、本実施例によれば、イン／アウトコマンドでＲＡＭへのアクセスを可能と
する回路、つまりエリア区分判定部１２０を設けることによって、プログラムの容量を削
減することが可能となる。ＲＡＭへのアクセスコマンド一つ当たりの削減量は１バイトに
過ぎないが、頻繁に使用されるコマンドであるため、制御プログラム全体では、大きな削
減効果を生むことができるのである。
【０１１５】
Ｅ．主制御基板１１０の変形例：
（１）  パチンコ機１の制御基板の回路構成は、以下に示す通り、種々の変形例が可能で
ある。ここでは、主制御基板１１０の変形例を示すが、払出制御基板２１０についても同
様の変形例が適用可能である。
図１１は主制御基板の変形例を示す説明図である。実施例では、ＩＯにアクセスするた
めのアドレス空間を確保しておく必要上、擬似ＲＡＭ領域は、８ビットのアドレス空間の
一部にとどまる例を示した。変形例では、８ビットのアドレス空間全体を擬似ＲＡＭ領域
とすることができる回路例を示す。
【０１１６】
変形例の回路では、メモリエリアデコーダ１１３ＡおよびＩＯデコーダ１２２の構成が
、実施例（図２）と相違する。その他の構成は、実施例と同じであるため説明を省略する
。
メモリエリアデコーダ１１３Ａは、アドレスに基づいてアクセス先がＲＯＭ、ＲＡＭ、
ＩＯ領域（受信バッファ１２３ｒ、送信バッファ１２３ｓ）のいずれに当たるかを判断し
、それぞれチップセレクタ信号ＭＣＳ２、ＭＣＳ１、およびＭＩＯＣＳ１、ＭＩＯＣＳ２
を出力する。ここでは２種類のＩＯを備える例を示したが、更に多くのＩＯを設けても良
い。この場合には、メモリエリアデコーダ１１３Ａから、各ＩＯに対してチップセレクタ
信号が接続される。
【０１１７】
変形例の構成では、エリア区分判定部１２０は実施例と同様の機能を果たす（図２、図
３参照）。つまり、イン／アウトコマンドが入力された時、指定された８ビットのアドレ
ス値と、エリア区分データ１２１とを比較して、アクセス先がＩＯか擬似ＲＡＭ領域かを
判定し、ＩＯエリア識別信号またはチップセレクタ信号ＭＣＳ０を出力する。
【０１１８】
変形例の構成によれば、実施例と同様に、８ビットのアドレス空間の一部を擬似ＲＡＭ
領域に割り当てることができる。この場合には、イン／アウトコマンドが入力された時に
、エリア区分判定部１２０がアクセス先を切り換える機能を果たすことになる。
【０１１９】
変形例では、更に、８ビットのアドレス空間全体を擬似ＲＡＭ領域に割り当てることも
可能となる。エリア区分データ１２１に、「ＦＦＨ」、つまり８ビットのアドレス空間の
最大値を設定しておけば、エリア区分判定部１２０は無条件に擬似ＲＡＭ領域へのアクセ
スが要求されているものと判断するようになり、アドレスバスＡ７〜Ａ０によって確保し
得るＲＡＭ１１６の擬似ＲＡＭ領域全体にアクセスすることが可能となる。
この時、ＩＯへのアクセスはロード／ストアコマンドによって確保される。メモリエリ
アデコーダ１１３Ａにおいて、ＲＡＭの全領域を除く範囲にＩＯ領域を設定しておけばよ
い。具体的には、アドレス空間の上位の所定ビットの差異によって、ＲＡＭ１１６、ＲＯ
Ｍ１１４、ＩＯ領域を規定することになる。こうしておけば、ＲＡＭ１１６，ＩＯのそれ
ぞれに対して、下位８ビット分のアドレスを確保することができる。
【０１２０】
ＩＯへのアクセスを行う場合、ＣＰＵ１１１がＩＯ領域に対応するアドレスを指定して
ロード／ストアコマンドを出力すると、メモリエリアデコーダ１１３Ａはアクセス先がＩ
Ｏであると判断してチップセレクタ信号ＭＩＯＣＳ１、ＭＩＯＣＳ２のいずれかをアクテ
ィブにする。この結果、指定されたＩＯにアクセスすることが可能となる。
【０１２１】
また、メモリエリアデコーダ１１３Ａは、アドレスＡ１５〜Ａ０の全空間に基づいてチ
ップセレクタの出力が可能であるため、変形例の回路によれば、ＲＡＭおよびＩＯの双方
にロード／ストアコマンドでアクセスすることが可能である。
また、実施例と同様、ＲＡＭ１１６の一部が擬似ＲＡＭ領域となるようエリア区分判定
部１２０のエリア区分データ１２１において設定しておけば、擬似ＲＡＭ領域に対しては
、イン／アウトコマンドでアクセス可能となる。この時、擬似ＲＡＭ領域に割り当てられ
なかった領域、つまり８ビットのアドレス空間の最後の方の領域は、イン／アウトコマン
ドでアクセス可能なＩＯ領域となる。
このように設定することにより、ＲＡＭ１１６およびＩＯそれぞれの一部について、ロ
ード／ストアコマンドおよびイン／アウトコマンドの双方でアクセスすることが可能とな
る。
【０１２２】
このように変形例の回路によれば、ＲＡＭ１１６およびＩＯの双方について、ロード／
ストアコマンド、イン／アウトコマンドの双方でのアクセスが可能となる。擬似ＲＡＭ領
域を大きくすれば、イン／アウトコマンドでＲＡＭ１１６にアクセスすることができる分
、プログラムの削減効果も大きくなる。しかし、一方、擬似ＲＡＭ領域を大きくすること
によって、ＩＯへのアクセスにロード／ストアコマンドを使用する必要が生じると、その
分、プログラムサイズが大きくなる。ＲＡＭ１１６およびＩＯへのアクセス数は、プログ
ラムの内容によって異なるから、上述の相反する効果を考慮して、プログラムサイズを最
小にすることができる最適の擬似ＲＡＭ領域のサイズもプログラムごとに求めることがで
きる。
【０１２３】
（２）  実施例では、値００Ｈを初期化値として書き込むことによって、ＲＡＭクリア処
理を行う例を示した。ＲＡＭクリア処理で用いる初期化値は、任意に設定可能である。０
０Ｈ以外の値を初期化値として用いる場合には、大当たりか否かの判定で用いられる大当
たり判定乱数の値を避けて設定することが好ましい。こうすることによって、制御プログ
ラムの改ざんや、ノイズなどの影響によって、本来意図されていないＲＡＭ領域からのデ
ータの読み込みが行われた場合でも、誤って大当たり判定がなされることを回避できる。
【０１２４】
変形例の回路では、上述の通り、ＲＡＭ１１６の全領域を擬似ＲＡＭとすることも可能
である。この場合、ＲＡＭの全領域クリア処理（図７）は、全領域についてストア命令で
０を書き込むようにしてもよいが、アウト命令で書き込むようにすれば更に好ましい。全
領域についてアウト命令のみを用いるようにすれば、図７のステップＳ４１ａ〜Ｓ４１ｃ
の単一ループで書き込みを行うことができるため、プログラムサイズを抑制することがで
きる。また、コマンド長が短いアウト命令を用いる点で、ストア命令を用いる場合に比較
して、わずかではあるが、更にプログラムサイズを抑制することが可能となる。
【０１２５】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定され
ず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
実施例では、パチンコ機１への適用例を示したが、本発明はスロットマシンへの適用も
可能である。
また、実施例では、主制御基板１１０に擬似ＲＡＭ領域を設ける構成を示したが、主制
御基板１１０に代えて、または主制御基板１１０と共に、この構成を払出制御基板２１０
に適用してもよい。
【符号の説明】
【０１２６】
１…パチンコ機
４ａ…表示部
４ｂ…操作スイッチ
１２…パネル装飾ランプ
１６…ＬＣＤ
２０…賞球払出装置
２１…払出モータ
２２…払出球検出器
２３…モータ駆動センサ
２９…スピーカ
３１…枠装飾ランプ
３２、３４…ランプ中継基板
４１…特別図柄表示装置
４２…入賞検出器
４３…大入賞口ソレノイド
４７…発射制御基板
４８…タッチ検出部
４９…発射モータ
１１０…主制御基板
１１１…ＣＰＵ
１１２…バスバッファ
１１３、１１３Ａ、１１３Ｂ…メモリエリアデコーダ
１１３ｄ…エリア区分データ
１１４…ＲＯＭ
１１５…選択部
１１６…ＲＡＭ
１１６Ａ…擬似ＲＡＭ
１１６Ｗ…ワーク
１１６Ｓ…スタック
１２０…エリア区分判定部
１２１…エリア区分データ
１２２…ＩＯデコーダ
１２３…パラレル入出力ポート
１２３ｓ…送信バッファ
１２３ｒ…受信バッファ
１２４…シリアル入出力制御部
１２４ｓ…ＳＰ変換部
１２４ｐ…ＰＳ変換部
２１０…払出制御基板
３１０…サブ制御基板
３５０…装飾図柄制御基板
【図１】
0005463401.tif 000002
【図２】
0005463401.tif 000003
【図３】
0005463401.tif 000004
【図４】
0005463401.tif 000005
【図５】
0005463401.tif 000006
【図６】
0005463401.tif 000007
【図７】
0005463401.tif 000008
【図８】
0005463401.tif 000009
【図９】
0005463401.tif 000010
【図１０】
0005463401.tif 000011
【図１１】
0005463401.tif 000012