(57)【特許請求の範囲】
【請求項１】
乱数値記憶手段と、その乱数値記憶手段の値を所定の範囲内で更新する第１更新手段と、所定の契機に基づいて前記乱数値記憶手段の値を読み出す読出手段とを有し、その読出手段により読み出された前記乱数値記憶手段の値が予め定められた値と一致する場合に遊技者に所定の遊技価値を付与する制御手段を備えた遊技機において、
前記乱数値記憶手段の値は、前記第１更新手段により所定回更新されることで一周するものであり、
前記第１更新手段は、前記乱数値記憶手段の値が一周すると、前記所定の範囲内のいずれかの値を更新の初期値として次の周の更新を行うものであり、
前記制御手段は、
前記所定の範囲と同じ範囲で更新され、前記乱数値記憶手段の更新の初期値の変更に使用される初期値記憶手段と、
その初期値記憶手段の値を読み出して、その値を更新し、更新された値を前記初期値記憶手段へ書き込む第２更新手段と、
定期的な信号である定期信号を出力する出力手段とを有し、
その出力手段が出力する定期信号に基づいて定期処理を行い、その定期処理の終了の後、次の定期信号に基づく定期処理が行われるまでの期間に繰り返し所定の処理を行うものであり、
その所定の処理において、前記第２更新手段による、読み出し、更新、および書き込み処理が行われ、
前記第１更新手段は、前記乱数値記憶手段の値が前記所定の範囲以外の値となる場合であっても、前記所定の範囲内の値とするように補正可能に前記乱数値記憶手段の値を更新し、
前記第２更新手段は、前記初期値記憶手段の値が前記所定の範囲以外の値となる場合であっても、前記所定の範囲内の値とするように補正可能に前記初期値記憶手段の値を更新し、
前記制御手段は、
前記第２更新手段による書き込み処理の実行時に、前記出力手段から定期信号が出力される場合に、その定期信号に基づく定期処理の実行を遅延させ、かつ、その書き込み処理の実行が終了した後に、実行が遅延された定期処理を実行する定期処理実行遅延手段を有しており、
その定期処理実行遅延手段により所定の定期処理の実行が遅延された場合であっても、次の定期処理を実行するために前記出力手段から出力される定期信号の出力は遅延されないものであることを特徴とする遊技機。
【請求項２】
前記遊技機は、パチンコ遊技機であることを特徴とする請求項１記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ遊技機などに代表される遊技機に関するものである。
【背景技術】
【０００２】
例えばパチンコ遊技機は、複数種類の図柄を変動表示可能な表示装置を備えており、遊技領域に打ち込まれた打球が図柄作動ゲートを通過すると、変動表示を開始するように構成されている。この変動表示が予め定められた図柄の組み合わせと一致して停止すると、当たりとなって、遊技者に所定の遊技価値が付与される。
【０００３】
かかる当たりの発生の有無は、打球が図柄作動ゲートを通過するタイミングで決定される。即ち、例えば、１カウントずつ定期的に一定の範囲で（例えば、１カウントずつ、２ｍｓ毎に、０から６３０の範囲で）更新される乱数カウンタを備え、打球が図柄作動ゲートを通過したときに、その乱数カウンタの値を読み出して、読み出された乱数カウンタの値が、例えば「７」などの所定値と一致する場合に、当たりを発生するようにしている。
【０００４】
ところが、最近、「ぶら下げ基板」と呼ばれる不正な基板を使用した不正行為が報告されている。この不正行為は、不正な基板をぶら下げて（不正な「ぶら下げ基板」を取り付けて）、不当に当たりを発生させるというものである。具体的には、例えば、前記したパチンコ遊技機に設けられる当たりを決定するための乱数カウンタと同様の働きをするカウンタ（１カウントずつ定期的に一定の範囲で更新されるカウンタ）を「ぶら下げ基板」内に設け、そのカウンタの値をパチンコ遊技機の電源投入等に合わせてリセット（０クリア）することにより、「ぶら下げ基板」内で当たりの発生タイミングを把握するのである。そして、その把握した当たりの発生タイミングに合わせて、「ぶら下げ基板」内で打球の図柄作動ゲート通過信号を不正に生成し、これをパチンコ遊技機の制御基板へ出力して、不当に当たりを発生させるというものである。
【０００５】
【０００６】
【発明の開示】
【発明が解決しようとする課題】
【０００７】
【０００８】
【０００９】
【００１０】
本発明は上記例示した問題点等を解決するためになされたものであり、「ぶら下げ基板」等による不正行為を防止することができる遊技機を提供することを目的としている。
【課題を解決するための手段】
【００１１】
この目的を達成するために請求項１記載の遊技機は、乱数値記憶手段と、その乱数値記憶手段の値を所定の範囲内で更新する第１更新手段と、所定の契機に基づいて前記乱数値記憶手段の値を読み出す読出手段とを有し、その読出手段により読み出された前記乱数値記憶手段の値が予め定められた値と一致する場合に遊技者に所定の遊技価値を付与する制御手段を備え、前記乱数値記憶手段の値は、前記第１更新手段により所定回更新されることで一周するものであり、前記第１更新手段は、前記乱数値記憶手段の値が一周すると、前記所定の範囲内のいずれかの値を更新の初期値として次の周の更新を行うものであり、前記制御手段は、前記所定の範囲と同じ範囲で更新され、前記乱数値記憶手段の更新の初期値の変更に使用される初期値記憶手段と、その初期値記憶手段の値を読み出して、その値を更新し、更新された値を前記初期値記憶手段へ書き込む第２更新手段と、定期的な信号である定期信号を出力する出力手段とを有し、その出力手段が出力する定期信号に基づいて定期処理を行い、その定期処理の終了の後、次の定期信号に基づく定期処理が行われるまでの期間に繰り返し所定の処理を行うものであり、その所定の処理において、前記第２更新手段による、読み出し、更新、および書き込み処理が行われ、前記第１更新手段は、前記乱数値記憶手段の値が前記所定の範囲以外の値となる場合であっても、前記所定の範囲内の値とするように補正可能に前記乱数値記憶手段の値を更新し、前記第２更新手段は、前記初期値記憶手段の値が前記所定の範囲以外の値となる場合であっても、前記所定の範囲内の値とするように補正可能に前記初期値記憶手段の値を更新し、前記制御手段は、前記第２更新手段による書き込み処理の実行時に、前記出力手段から定期信号が出力される場合に、その定期信号に基づく定期処理の実行を遅延させ、かつ、その書き込み処理の実行が終了した後に、実行が遅延された定期処理を実行する定期処理実行遅延手段を有しており、その定期処理実行遅延手段により所定の定期処理の実行が遅延された場合であっても、次の定期処理を実行するために前記出力手段から出力される定期信号の出力は遅延されないものである。
請求項２記載の遊技機は、請求項１記載の遊技機において、前記遊技機はパチンコ遊技機である。
【発明の効果】
【００１２】
本発明の遊技機によれば、「ぶら下げ基板」等による不正行為を防止することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例としてパチンコ遊技機、特に、第１種パチンコ遊技機を用いて説明する。なお、本発明を第３種パチンコ遊技機やスロットマシン等の他の遊技機に用いることは、当然に可能である。
【００１４】
図１は、第１実施例におけるパチンコ遊技機Ｐの遊技盤の正面図である。遊技盤１の周囲には、打球が入賞することにより５個から１５個の遊技球が払い出される複数の入賞口２が設けられている。また、遊技盤１の中央には、複数種類の識別情報としての図柄などを表示する液晶（ＬＣＤ）ディスプレイ３が設けられている。このＬＣＤディスプレイ３の表示画面は横方向に３分割されており、３分割された各表示領域において、それぞれ図柄の変動表示が行われる。
【００１５】
ＬＣＤディスプレイ３の下方には、図柄作動ゲート（第１種始動口）４が設けられ、打球がこの図柄作動ゲート４を通過することにより、前記したＬＣＤディスプレイ３の変動表示が開始される。図柄作動ゲート４の下方には、特定入賞口（大入賞口）５が設けられている。この特定入賞口５は、ＬＣＤディスプレイ３の変動後の表示結果が予め定められた図柄の組み合わせの１つと一致する場合に、大当たりとなって、打球が入賞しやすいように所定時間（例えば、３０秒経過するまで、あるいは、打球が１０個入賞するまで）開放される入賞口である。この特定入賞口５内には、Ｖゾーン５ａが設けられており、特定入賞口５の開放中に、打球がＶゾーン５ａ内を通過すると、継続権が成立して、特定入賞口５の閉鎖後、再度、その特定入賞口５が所定時間（又は、特定入賞口５に打球が所定個数入賞するまで）開放される。この特定入賞口５の開閉動作は、最高で１６回（１６ラウンド）繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値の付与された状態（特別遊技状態）である。
【００１６】
図２は、かかるパチンコ遊技機Ｐの電気的構成を示したブロック図である。パチンコ遊技機Ｐの制御部Ｃは、演算装置であるＣＰＵ１１と、そのＣＰＵ１１により実行される各種の制御プログラムや固定値データを記憶したＲＯＭ１２と、各種のデータ等を一時的に記憶するためのメモリであるＲＡＭ１３とを備えている。図５から図７に示すフローチャートのプログラムは、制御プログラムの一部としてＲＯＭ１２内に記憶されている。
【００１７】
ＣＰＵ１１は、演算を行うＡＬＵのほか、アキュームレータ（以下「Ａｃｃ」と称す）１１ａや複数の内部レジスタ１１ｂ、フラグレジスタ１１ｃを備えている。ＲＡＭ１３内に設けられるカウンタ等の値は、一旦、ＣＰＵ１１の内部レジスタ１１ｂへロードされ（読み込まれ）、その内部レジスタ１１ｂ内で更新された後に、ＲＡＭ１３の元のカウンタ内へセイブされて（書き込まれて）、更新される。
【００１８】
なお、６８系の８ビットＣＰＵ１１では、ペアになっている２バイト（１６ビット）の内部レジスタ１１ｂの値を、連続したアドレスの２バイトのメモリ（ＲＡＭ１３内）へ１命令でセイブする（書き込む）ことができる。バスライン１４のデータバスは８ビットで構成されるので、この場合の書き込みは、上位バイト、下位バイトの順に行われる。また、８０系の８ビットＣＰＵでは、６８系のＣＰＵ１１とは逆に、ペアになっている２バイト（１６ビット）の内部レジスタの値を、連続したアドレスの２バイトのメモリへ、下位バイト上位バイトの順に１命令でセイブすることができる。
【００１９】
ＲＡＭ１３は、乱数カウンタ１３ａと、初期値カウンタ１３ｂと、初期値メモリ１３ｃとを備えている。乱数カウンタ１３ａは、大当たりの発生を決定するためのカウンタであり、図６の乱数更新処理（Ｓ６）によって、「０〜６３０（０〜２７６ｈ）」の範囲で、２ｍｓ毎に１カウントずつ更新される。このため乱数カウンタ１３ａは２バイトで構成されている。打球が図柄作動ゲート４を通過したときに取得した乱数カウンタ１３ａの値が例えば「７」であると、大当たりが発生する。大当たりが発生すると、大当たりコマンドが制御部Ｃから後述する表示装置Ｄへ送られる。表示装置Ｄは、この大当たりコマンドに基づいて、ＬＣＤディスプレイ３の変動表示を大当たりの状態に制御する。
【００２０】
初期値カウンタ１３ｂは、乱数カウンタ１３ａの更新の初期値をカウントするためのカウンタであり、乱数カウンタ１３ａと同様に２バイトで構成されている。この初期値カウンタ１３ｂの値は、図７の初期値カウンタ更新処理（Ｓ２１）によって、乱数カウンタ１３ａの更新範囲と同じ「０〜６３０（２７６ｈ）」の範囲で、１カウントずつ更新される。
【００２１】
図７の初期値カウンタ更新処理は、図５のリセット割込処理における残余時間の間、即ち、効果音処理（Ｓ１９）の終了後、次のリセット割込処理が発生するまでの間に、繰り返し実行される（Ｓ２１）。リセット割込処理は２ｍｓ毎に実行されるが、１回のリセット割込処理において実行されるＳ１からＳ１９までの各処理の処理時間は遊技の状況に応じて変化するので、リセット割込処理の残余時間は、一定な時間ではなく、遊技の状況に応じて変化する不定な時間となる。「ぶら下げ基板」ではこの不定な時間を把握することはできないので、かかる不定な時間内に繰り返し更新される初期値カウンタ１３ｂの値を乱数カウンタ１３ａの更新の初期値として使用することにより、「ぶら下げ基板」による大当たり発生のタイミングの把握を不可能にしている。
【００２２】
初期値メモリ１３ｃは、乱数カウンタ１３ａの更新の初期値を記憶するためのメモリであり、乱数カウンタ１３ａと同様に２バイトで構成されている。本実施例では、乱数カウンタ１３ａの更新の初期値は、乱数カウンタの一回りの更新毎に変更される。よって、更新された乱数カウンタ１３ａの値が初期値メモリ１３ｃの値と一致すると、乱数カウンタ１３ａの一回りの更新が終了したことになるので、両値１３ａ，１３ｃの一致を契機として、そのときの初期値カウンタ１３ｂの値が乱数カウンタ１３ａおよび初期値メモリ１３ｃに書き込まれて、乱数カウンタ１３ａの更新の初期値が変更される。従って、乱数カウンタ１３ａの更新の初期値を変更しても、乱数の一様性（連続で取得した場合に同じ値を取ることがなく、しかも、すべての値が同じ確率で取り出せること）のある乱数値を得ることができるのである。
【００２３】
これらのＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３は、バスライン１４を介して互いに接続されており、バスライン１４は、また、入出力ポート１５にも接続されている。この入出力ポート１５は表示装置Ｄや他の入出力装置１６と接続されている。制御部Ｃは、入出力ポート１５を介して、表示装置Ｄや他の入出力装置１６へ動作コマンドを送り、それら各装置を制御する。ＬＣＤディスプレイ３の変動表示や特定入賞口５の開閉動作も、この動作コマンドに基づいて制御される。
【００２４】
表示装置Ｄは、ＣＰＵ２１と、プログラムＲＯＭ２２と、ワークＲＡＭ２３と、ビデオＲＡＭ２４と、キャラクタＲＯＭ２５と、画像コントローラ２６と、入出力ポート２７と、ＬＣＤディスプレイ３とを備えている。表示装置ＤのＣＰＵ２１は、制御部Ｃから出力される動作コマンドに応じて、ＬＣＤディスプレイ３の表示制御（変動表示）を行うものであり、プログラムＲＯＭ２２には、このＣＰＵ２１により実行されるプログラムが記憶されている。ワークＲＡＭ２３は、ＣＰＵ２１によるプログラムの実行時に使用されるワークデータが記憶されるメモリである。
【００２５】
ビデオＲＡＭ２４は、ＬＣＤディスプレイ３に表示されるデータが記憶されるメモリであり、このビデオＲＡＭ２４の内容を書き換えることにより、ＬＣＤディスプレイ３の表示内容が変更される。即ち、各表示領域における図柄の変動表示は、ビデオＲＡＭ２４の内容が書き換えられることにより行われる。キャラクタＲＯＭ２５は、ＬＣＤディスプレイ３に表示される図柄などのキャラクタデータを記憶するメモリである。画像コントローラ２６は、ＣＰＵ２１、ビデオＲＡＭ２４、入出力ポート２７のそれぞれのタイミングを調整して、データの読み書きを介在するとともに、ビデオＲＡＭ２４に記憶される表示データをキャラクタＲＯＭ２５を参照して所定のタイミングでＬＣＤディスプレイ３に表示させるものである。
【００２６】
次に、図３および図４を参照して、図５のリセット割込処理の実行契機となるユーザーリセット割込の発生タイミングについて説明する。このユーザーリセット割込は、２ｍｓ毎であって、且つ、ＣＰＵ１１によりオペコードフェッチ信号が出力されるタイミング、即ち、ＣＰＵ１１のＬＩＲ端子の出力がＨｉからＬｏｗになるタイミングで発生するように構成されている。
【００２７】
オペコードフェッチ信号が出力されている間は、ＣＰＵ１１によりＲＯＭ１２からオペコードのリードが行われているため、ＲＡＭ１３への書き込みが行われることはない。よって、かかるオペコードフェッチ信号に同期してユーザーリセット割込を発生させることにより、リセット割込処理の残余時間の間において初期値カウンタ１３ｂの値を繰り返し更新しても、次のリセット割込処理が発生する時には、その初期値カウンタ１３ｂの値を書き換えることがなく本来の更新範囲外の値としてしまうことはない。
【００２８】
ＣＰＵ１１のリセット端子ＲＥＳには、リセットＩＣ３１が接続されている。リセットＩＣ３１の出力（Ａ）は、パチンコ遊技機Ｐの電源投入後所定時間が経過するとＬｏｗからＨｉへ立ち上がり、以降は、パチンコ遊技機Ｐの電源がオフされるまでＨｉを維持する。ＣＰＵ１１は、リセット端子ＲＥＳへの入力がＬｏｗからＨｉへ立ち上がりＨｉを維持している間、動作を継続する。
【００２９】
また、ＣＰＵ１１には、８．１９２０ＭＨｚの発振子（クロック）３２が接続されている。クロック３２の出力はＣＰＵ１１内で４分周され、Ｅクロック端子から４８８．３ｎｓ周期の矩形状の発振波が出力される（Ｂ）。更に、ＩＣＬＫ端子からは、そのＥクロックを４０９６分周した２ｍｓ周期の矩形波が出力される（Ｃ）。
【００３０】
リセットＩＣ３１の出力端は、ＨＣ７４で構成されるＤフリップフロップ３３のＣＬＲ端子にも接続されている。Ｄフリップフロップ３３のＣＫ端子は、ＣＰＵ１１のＩＣＬＫ端子と接続されており、ＰＲ端子およびＤ端子はＶｃｃ（＋５Ｖ）に接続されているので、ＣＰＵ１１のＩＣＬＫ端子の出力が立ち上がるまでは、Ｄフリップフロップ３３のＱ出力はＬｏｗ（Ｇ）、Ｑバー出力はＨｉ（Ｄ）を維持している。ＣＰＵ１１のＩＣＬＫ端子の出力が一旦ＬｏｗからＨｉへ立ち上がると（Ｃ）、Ｄフリップフロップ３３のＱ出力はＨｉ（Ｇ）、Ｑバー出力はＬｏｗ（Ｄ）となり、Ｄフリップフロップ３３は、パチンコ遊技機Ｐの電源がオフされるまで、この出力を維持する。
【００３１】
Ｄフリップフロップ３３のＱバー出力端は、２入力オア回路３４の一方の入力端に接続されている。また、オア回路３４のもう一つの入力端はＣＰＵ１１のＩＣＬＫ端子に接続されている。よって、オア回路３４の出力端からは、Ｄフリップフロップ３３のＱバー出力がＬｏｗ（Ｄ）となってから以降、ＩＣＬＫ端子の出力（Ｃ）と同じ２ｍｓ周期の矩形波が出力される（Ｅ）。
【００３２】
一方、ＣＰＵ１１のＥクロック端子はインバータ３５の入力端と接続され、そのインバータ３５の出力端は、ＨＣ７４で構成されるＤフリップフロップ３６のＣＫ端子および２入力オア回路３７の一方の入力端に接続されている。Ｄフリップフロップ３６のＰＲ端子はＶｃｃに、ＣＬＲ端子は前記したＤフリップフロップ３３のＱ出力端に、Ｄ端子はＨＣ４０２０で構成されるバイナリカウンタ３８のＱ７出力端に、Ｑ出力端はオア回路３７の入力端に、それぞれ接続されている。更に、オア回路３７の出力端は、カウンタ３８のＣＫ端子に接続されている。
【００３３】
Ｄフリップフロップ３６のＣＬＲ端子に入力されるＤフリップフロップ３３のＱ出力は、ＣＰＵ１１のＩＣＬＫ端子の出力がＬｏｗからＨｉへ一旦立ち上がると（Ｃ）、以降はＨｉを維持する（Ｇ）。Ｄフリップフロップ３６のＰＲ端子にはＶｃｃが入力されているので、その後は、ＣＰＵ１１のＥクッロク端子の出力（Ｂ）が反転されたインバータ３５の出力（Ｆ）の立ち上がり毎に、Ｄ端子へ入力されるカウンタ３８のＱ７出力（Ｉ）の状態がＤフリップフロップ３６のＱ端子から出力される（Ｊ）。よって、オア回路３７は、Ｄフリップフロップ３６のＱ端子の出力がＬｏｗの間は（Ｊ）、Ｅクロックの反転出力（Ｆ）を出力し（Ｈ）、Ｄフリップフロップ３６のＱ端子の出力がＨｉの間は（Ｊ）、Ｈｉを出力する（Ｈ）。
【００３４】
カウンタ３８のＱ７端子は、Ｄフリップフロップ３６のＤ端子と接続される他、２入力オア回路３９の一つの入力端に接続されている。このオア回路３９の他方の入力端にはオア回路３４の出力端が接続されている。カウンタ３８のＱ７出力は、ＣＬＲ端子への出力がＨｉになっている間（Ｅ）、Ｌｏｗを維持する（Ｉ）。そして、ＣＬＲ端子への出力がＬｏｗになった状態で（Ｅ）、ＣＫ端子へ６４回立ち下がりクロックが入力されると（Ｈ）、Ｈｉとなり（Ｉ）、そのＱ７端子のＨｉ出力は、ＣＬＲ端子へＨｉが入力されるまで維持される（Ｅ，Ｉ）。
【００３５】
オア回路３９からは、オア回路３４の出力およびカウンタ３８のＱ７出力が共にＬｏｗである場合に（Ｅ，Ｉ）、Ｌｏｗが出力される（Ｋ）。よって、オア回路３９の出力は、オア回路３４の出力がＬｏｗとなった後（Ｅ）、カウンタ３８のＣＫ端子へ６４回立ち下がりクロックが入力されるまで（Ｈ）、Ｌｏｗ出力を維持する（Ｋ）。即ち、オア回路３９からは、２ｍｓ毎に（Ｃ，Ｅ）、カウンタ３８のＣＫ端子へ６４回立ち下がりクロックが入力されるまでの間（Ｈ）、Ｌｏｗが出力される。
【００３６】
なお、従来技術においては、このオア回路３９の出力端がＣＰＵ１１のＵＲＥＳ端子に接続されており、オア回路３９からＬｏｗ出力されるタイミングでユーザーリセット割込が発生するように構成されていた。よって、このオア回路３９の出力がＬｏｗを維持する期間が（Ｋ）、ユーザーリセット割込の発生を確定させるための期間になっていた。
【００３７】
オア回路３９の出力端は、タイミング回路４０のインバータ４１の入力端と、ＨＣ７４で構成されるＤフリップフロップ４２のＤ端子に接続されている。タイミング回路４０は、ユーザーリセット割込をオペコードフェッチに同期するタイミングで発生させるための回路である。オア回路３９からは２ｍｓ毎にＬｏｗが出力されるので（Ｋ）、タイミング回路４０では、そのＬｏｗ出力を入力した後の最初のオペコードフェッチのタイミングで、ＣＰＵ１１のＵＲＥＳ端子へＬｏｗを出力し（Ｎ）、ユーザーリセット割込を発生させるのである。
【００３８】
タイミング回路４０のインバータ４１の入力端は、前記した通り、オア回路３９の出力端に接続されており、そのインバータ４１の出力端は、Ｄフリップフロップ４２のＰＲ端子に接続されている。Ｄフリップフロップ４２のＣＬＲ端子はＶｃｃに接続されているので、ＣＰＵ１１のＵＲＥＳ端子に接続されるＤフリップフロップ４２のＱ端子からは、オア回路３９からＨｉ出力されている間（Ｋ）、Ｈｉが出力され（Ｎ）、ユーザーリセット割込は発生しない。
【００３９】
ＣＰＵ１１のＬＩＲ端子はインバータ４３の入力端に接続され、そのインバータ４３の出力端はＤフリップフロップ４２のＣＫ端子に接続されている。オペコードフェッチがあるとＬＩＲ端子の出力はＨｉからＬｏｗへ立ち下がるので、オペコードフェッチの度に、インバータ４３からＤフリップフロップ４２のＣＫ端子へはＬｏｗからＨｉへの立ち上がり信号が出力される（Ｍ）。
【００４０】
ここで、オア回路３９からＬｏｗが出力されると（Ｋ）、Ｄフリップフロップ４２のＰＲ端子へＨｉが入力される（Ｌ）。ＣＬＲ端子にはＶｃｃが入力されているので、ＣＰＵ１１からオペコードフェッチ信号が出力されＬＩＲ端子の出力がＨｉからＬｏｗへ立ち下がると、Ｄフリップフロップ４２のＣＫ端子への入力がＬｏｗからＨｉへ立ち上がり（Ｍ）、その時のＤ端子へ入力されているＬｏｗ出力が（Ｋ）、Ｄフリップフロップ４２のＱ端子から出力されて（Ｎ）、ＣＰＵ１１のＵＲＥＳ端子へ入力される。これにより、ユーザーリセット割込がオペコードフェッチのタイミングで発生するのである。
【００４１】
なお、このようにユーザーリセット割込の発生タイミングを最初のオペコードフェッチのタイミングまで遅延させるように構成しても、オア回路３９は確実に２ｍｓ毎にＬｏｗ信号を出力するので（Ｋ）、その遅延分が累積してしまうことはない。従って、ユーザーリセット割込を２ｍｓ毎に実行することができるのである。
【００４２】
次に、上記のように構成されたパチンコ遊技機Ｐで実行される各処理を、図５から図７のフローチャートを参照して説明する。図５は、パチンコ遊技機Ｐの制御部Ｃにおいて、２ｍｓ毎に実行されるリセット割込処理のフローチャートである。パチンコ遊技機Ｐの主な制御は、このリセット割込処理によって実行される。なお、このリセット割込処理は、電源投入時におけるリセット割込の発生時、および、前記したユーザーリセット割込の発生時に実行される。
【００４３】
リセット割込処理では、まず、スタックポインタを設定し（Ｓ１）、ＲＡＭ１３の所定エリアに書き込まれているパターンのチェックを行う（Ｓ２）。チェックの結果、所定エリアに所定のパターンが書き込まれていれば、ＲＡＭ１３に異常はなく正常であるので（Ｓ２：正常）、処理をＳ３へ移行する。一方、Ｓ２のチェックの結果、所定エリアに所定のパターンが書き込まれていなければ、電源投入後のリセット割込により最初に実行されたリセット割込処理であるか、或いは、ＲＡＭ１３に異常があるので（Ｓ２：異常）、この場合には処理をＳ２２へ移行して、一旦、ＲＡＭ１３の内容をクリアした後、ＲＡＭ１３内へ初期値を書き込んで（Ｓ２２）、次のリセット割込処理の発生を待機する。
【００４４】
Ｓ３の処理ではタイマ割込の設定を行う（Ｓ３）。ここで設定されるタイマ割込としては、ＬＣＤディスプレイ３の表示を制御するコマンドを表示装置Ｄへ送信するためのストローブ信号を発生させるタイマ割込などがある。タイマ割込の設定後は、各割込を許可状態とする（Ｓ４）。割込の許可後は、特別図柄変動処理（Ｓ１５）や、表示データ作成処理（Ｓ１７）、ランプ・情報処理（Ｓ１８）などにより、前回のリセット割込処理において更新された出力データを一度に各ポートへ出力するポート出力処理を実行する（Ｓ５）。ポート出力処理の実行後は、後述する乱数更新処理（Ｓ６）を実行して、乱数カウンタ１３ａの値を「＋１」更新し、更に、記憶タイマ減算処理を実行する（Ｓ７）。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、ＬＣＤディスプレイ３において図柄の変動表示中である場合に、図柄の変動表示時間の短縮を行うものである。
【００４５】
スイッチ読込処理（Ｓ８）は、各スイッチの値を読み込むことにより、遊技領域１へ打ち込まれた打球の入賞口２や大入賞口５（Ｖゾーン５ａを含む）への入賞、図柄作動ゲート４の通過、更には賞球や貸球を検出するための処理である。カウント異常監視処理（Ｓ９）は、Ｓ８のスイッチ読込処理によって読み込まれたスイッチデータに異常があるか否かを監視するための処理である。例えば、大入賞口５が開放され、打球のＶゾーン５ａの通過を検出するＶカウントスイッチで打球が検出されたにも拘わらず、Ｖゾーン５ａ以外の大入賞口５への入賞を検出する１０カウントスイッチで１球の打球も検出できない場合には、１０カウントスイッチが抜き取られるか故障するなどして、１０カウントスイッチに何らかの異常が発生している。また、賞球を払い出すモータを駆動したにも拘わらず、１球の賞球も払い出されない場合には、賞球の払出装置に何らかの異常が発生している。このようにカウント異常監視処理（Ｓ９）では、スイッチ読込処理（Ｓ８）によって読み込まれたスイッチデータに基づいて、上記のような異常の有無を監視している。
【００４６】
図柄カウンタ更新処理（Ｓ１０）では、ＬＣＤディスプレイ３で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理（Ｓ１１）では、図柄カウンタ更新処理（Ｓ１０）で更新されたカウンタの値に基づいて、特別図柄変動処理（Ｓ１５）で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。
【００４７】
Ｓ３からＳ１１までの処理において、エラーが発生していなければ（Ｓ１２：正常）、普通図柄変動処理（Ｓ１３）によって、７セグメントＬＥＤの変動表示を行うと共に、その変動表示の結果、当たりが発生した場合には普通電動役物（図示せず）を所定時間開放する当たり処理を実行する。その後、状態フラグをチェックし（Ｓ１４）、ＬＣＤディスプレイ３の図柄の変動表示中であれば（Ｓ１４：図柄変動中）、特別図柄変動処理（Ｓ１５）によって、打球が図柄作動ゲート４を通過するタイミングで読みとられた乱数カウンタ１３ａの値に基づいて、大当たりか否かの判定が行われると共に、ＬＣＤディスプレイ３の表示図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば（Ｓ１４：大当り中）、大入賞口５を開放するなどの大当たり処理（Ｓ１６）を実行する。更に、状態フラグをチェックした結果、図柄の変動中でも大当たり中でもなければ（Ｓ１４：その他）、Ｓ１５及びＳ１６の処理をスキップして、Ｓ１７の表示データ作成処理へ移行する。なお、Ｓ１２の処理において、エラーが確認された場合には（Ｓ１２：エラー）、Ｓ１３〜Ｓ１６の各処理をスキップして、Ｓ１７の表示データ作成処理へ移行する。
【００４８】
表示データ作成処理（Ｓ１７）では、図柄の変動表示以外にＬＣＤディスプレイ３に表示されるデモデータや、７セグメントＬＥＤの表示データなどが作成され、ランプ・情報処理（Ｓ１８）では、保留球のランプデータをはじめ、各種のランプデータが作成される。効果音処理（Ｓ１９）では、遊技の状況に応じた効果音データが作成される。なお、これらの表示データおよび効果音データは、前記したポート出力処理（Ｓ５）やタイマ割込処理によって各装置へ出力される。
【００４９】
効果音処理（Ｓ１９）の終了後は、次のリセット割込処理が発生するまでの残余時間の間、Ｓ１０と同一の処理である図柄カウンタ更新処理（Ｓ２０）と、初期値カウンタ更新処理（Ｓ２１）とを繰り返し実行する。Ｓ１〜Ｓ１９の各処理の実行時間は遊技の状態に応じて変化するので、次のリセット割込処理（次のユーザーリセット割込）が発生するまでの残余時間は、一定の時間ではなく、遊技の状態に応じて変化する。よって、かかる残余時間を使用して図柄カウンタ更新処理（Ｓ２０）を繰り返し実行することにより、停止図柄をランダムに変更することができる。また、かかる残余時間を使用して初期値カウンタ更新処理（Ｓ２１）を繰り返し実行することにより、乱数カウンタ１３ａの更新の初期値となる初期値カウンタ１３ｂの値を「ぶら下げ基板」で把握不可能にすることができる。
【００５０】
図６は、乱数更新処理のフローチャートである。乱数更新処理（Ｓ６）では、ＣＰＵ１１の内部レジスタ１１ｂを介して、乱数カウンタ１３ａの値を「０〜６３０（０〜２７６ｈ）」の範囲内で「＋１」ずつ更新すると共に、制御部Ｃで使用される他の乱数の更新を行っている。
【００５１】
まず、２バイトで構成される乱数カウンタ１３ａの値を２バイトの内部レジスタ１１ｂへ書き込む（Ｓ３１）。内部レジスタ１１ｂの値を１加算し（Ｓ３２）、加算後の内部レジスタ１１ｂの値が「６３１」以上であるか否か、即ち、乱数カウンタ１３ａの更新範囲の値を超えている否かを調べる（Ｓ３３）。加算後の内部レジスタ１１ｂの値が「６３１」以上であれば（Ｓ３３：Ｙｅｓ）、更新範囲の値を超えているので、内部レジスタ１１ｂの値を「０」クリアする（Ｓ３４）。一方、加算後の内部レジスタ１１ｂの値が「６３０」以下であれば（Ｓ３３：Ｎｏ）、更新範囲内の値であるので、Ｓ３４の処理をスキップして、Ｓ３５の処理へ移行する。
【００５２】
Ｓ３５の処理では、更新後の内部レジスタ１１ｂの値と初期値メモリ１３ｃの値とが比較される。初期値メモリ１３ｃには乱数カウンタ１３ａの更新の初期値が記憶されているので、両値が等しい場合には（Ｓ３５：Ｙｅｓ）、乱数カウンタ１３ａの更新は一回り終了したということである。よって、かかる場合には、２バイトの初期値カウンタ１３ｂの値を内部レジスタ１１ｂへ書き込み（Ｓ３６）、その内部レジスタ１１ｂの値を初期値メモリ１３ｃ及び乱数カウンタ１３ａへ書き込んで（Ｓ３７，Ｓ３８）、乱数カウンタ１３ａの更新の初期値を変更する。
【００５３】
一方、更新後の内部レジスタ１１ｂの値と初期値メモリ１３ｃの値とが等しくない場合には（Ｓ３５：Ｎｏ）、乱数カウンタ１３ａの更新は未だ一回り終了していないので、Ｓ３６及びＳ３７の処理をスキップして、Ｓ３２からＳ３４の処理で更新された内部レジスタ１１ｂの値を乱数カウンタ１３ａへ書き込み（Ｓ３８）、乱数カウンタ１３ａの更新を行う。その後は、制御部Ｃで使用される他の乱数の更新処理を行って（Ｓ３９）、この乱数更新処理を終了する。
【００５４】
図７は、リセット割込処理の残余時間の間に繰り返し実行される初期値カウンタ更新処理のフローチャートである。初期値カウンタ更新処理（Ｓ２１）では、ＣＰＵ１１の内部レジスタ１１ｂを介して、乱数カウンタ１３ａの更新の初期値をカウントする初期値カウンタ１３ｂの値を、乱数カウンタ１３ａの更新範囲の「０〜６３０（０〜２７６ｈ）」の範囲内で「＋１」ずつ更新する。
【００５５】
まず、２バイトで構成される初期値カウンタ１３ｂの値を２バイトの内部レジスタ１１ｂへ書き込む（Ｓ４１）。内部レジスタ１１ｂの値を１加算し（Ｓ４２）、加算後の内部レジスタ１１ｂの値が「６３１」以上であるか否か、即ち、乱数カウンタ１３ａの更新範囲の値を超えている否かを調べる（Ｓ４３）。加算後の内部レジスタ１１ｂの値が「６３１」以上であれば（Ｓ４３：Ｙｅｓ）、乱数カウンタ１３ａの更新範囲の値を超えているので、内部レジスタ１１ｂの値を「０」クリアする（Ｓ４４）。一方、加算後の内部レジスタ１１ｂの値が「６３０」以下であれば（Ｓ４３：Ｎｏ）、乱数カウンタ１３ａの更新範囲内の値であるので、Ｓ４４の処理をスキップして、Ｓ４５の処理へ移行する。Ｓ４５の処理では、更新された内部レジスタ１１ｂの値を、６８系ＣＰＵ１１の２バイト書き込み命令によって上位バイト下位バイトの順に初期値カウンタ１３ｂへ書き込むのである。
【００５６】
前記した通り、初期値カウンタ更新処理は、リセット割込処理において、次のリセット割込が発生するまでの残余時間の間に繰り返し実行される（Ｓ２１）。このため、Ｓ４５の処理によって内部レジスタ１１ｂの上位バイトが初期値カウンタ１３ｂへ書き込まれた後であって下位バイトの書き込み前に２ｍｓが経過して、次のユーザーリセット割込が発生するタイミングが到来する場合がある。ユーザーリセット割込は、割込の優先順位が最も高く、割込処理の開始を禁止できないノンマスカブルな割込である。しかし、前記した通り、ユーザーリセット割込の発生は、タイミング回路４０によって、２ｍｓの経過後の最初のオペコードフェッチのタイミングまでに遅延されるので、ＣＰＵ１１による書き込み命令の実行中に、ユーザーリセット割込が発生してリセット割込処理が実行されることはない。よって、リセット割込処理の残余時間の間に、初期値カウンタ１３ｂの値を繰り返し更新しても、初期値カウンタ１３ｂの値を本来の更新範囲内の値である「０〜６３０（０〜２７６ｈ）」の範囲内に維持することができるのである。
【００５７】
次に、図８および図９を参照して、第２実施例のタイミング回路５０について説明する。第１実施例のタイミング回路４０はオペコードフェッチ信号（ＬＩＲ端子の出力）を利用してユーザーリセット割込を発生させるように構成したが、第２実施例のタイミング回路５０は、リード信号（Ｒ／Ｗバー端子のＨｉ出力）を利用してユーザーリセット割込を発生させている。
【００５８】
ここで、リード信号は、ＣＰＵ１１によってＲＯＭ１２，ＲＡＭ１３などのメモリに記憶されるデータが読み出されている場合に出力される信号であり、Ｒ／Ｗバー端子からＨｉの信号として出力される。一方、ライト信号は、ＣＰＵ１１によってＲＡＭ１３などのメモリへデータの書き込みが行われている場合に出力される信号であり、Ｒ／Ｗバー端子からＬｏｗの信号として出力される。詳細には、Ｅクロック端子の出力がＨｉレベルである場合に、リード信号およびライト信号は有効となる。このため本実施例では、アンド回路５３によってＥクロック端子とＲ／Ｗバー端子との出力のアンド論理をとって、Ｄフリップフロップ５４のＣＫ端子へ入力するように構成している（図８参照）。
【００５９】
よって、リード信号が出力されている間は（アンド回路５３からＨｉ信号が出力されている間は）、ＣＰＵ１１によりＲＯＭ１２やＲＡＭ１３等のデータが読み込まれており、ＲＡＭ１３への書き込みは行われていない。従って、かかるリード信号に同期してユーザーリセット割込を発生させることにより、リセット割込処理の残余時間の間において、初期値カウンタ１３ｂの値を繰り返し更新しても（図５のＳ２１）、次のリセット割込処理が発生する時には、その初期値カウンタ１３ｂの値を書き換えることがなく本来の更新範囲外の値としてしまうことはない。なお、前記した第１実施例と同一の部分には同一の符号を付し、その説明は省略し、異なる部分のみ説明する。
【００６０】
オア回路３９の出力端は、タイミング回路５０のインバータ５１の入力端と、ＨＣ７４で構成されるＤフリップフロップ５２のＤ端子に接続されている。タイミング回路５０は、リード信号が出力されている間に、ユーザーリセット割込を発生させるための回路である。言い換えれば、タイミング回路５０は、ライト信号が出力されている間に、ユーザーリセット割込の発生を禁止するための回路でもある。
【００６１】
タイミング回路５０のインバータ５１の入力端は、前記した通り、オア回路３９の出力端に接続されており、そのインバータ５１の出力端は、Ｄフリップフロップ５２のＰＲ端子に接続されている。Ｄフリップフロップ５２のＣＬＲ端子はＶｃｃに接続されているので、ＣＰＵ１１のＵＲＥＳ端子に接続されるＤフリップフロップ５２のＱ端子からは、オア回路３９からＨｉ出力されている間（Ｋ）、Ｈｉが出力され（Ｑ）、ユーザーリセット割込は発生しない。
【００６２】
ＣＰＵ１１のＲ／Ｗバー端子は、２入力アンド回路５３の一つの入力端に接続され、そのアンド回路５３の他の入力端はＣＰＵ１１のＥクロック端子に接続されている。更に、アンド回路５３の出力端はＤフリップフロップ５２のＣＫ端子に接続されている。ＣＰＵ１１からリード信号が出力されＲ／Ｗバー端子の出力がＨｉとなった状態で、Ｅクロックの出力がＬｏｗからＨｉへ立ち上がると（Ｂ）、アンド回路５３からＤフリップフロップ５２のＣＫ端子へＬｏｗからＨｉへの立ち上がり信号が出力される（Ｐ）。
【００６３】
ここで、オア回路３９からＬｏｗが出力されていると（Ｋ）、Ｄフリップフロップ５２のＰＲ端子へＨｉが入力される（Ｌ）。ＣＬＲ端子にはＶｃｃが入力されているので、Ｒ／Ｗバー端子からＨｉが出力された状態でＥクロックの出力がＬｏｗからＨｉへ立ち上がると（Ｂ）、Ｄフリップフロップ５２のＣＫ端子への入力がＬｏｗからＨｉへ立ち上がり（Ｐ）、その時のＤ端子へ入力されているＬｏｗ出力が（Ｋ）、Ｄフリップフロップ５２のＱ端子からＣＰＵ１１のＵＲＥＳ端子へ出力される（Ｑ）。これにより、リード信号が出力されているタイミングでユーザーリセット割込が発生する。従って、初期値カウンタ１３ｂへの書き込み中に、次のリセット割込処理の実行が開始されることはない。
【００６４】
なお、このようにユーザーリセット割込の発生タイミングを、オア回路３９の出力がＬｏｗとなった後であって、最初のリード信号が出力され、且つ、Ｅクロック端子の出力が立ち上がるタイミングまで遅延させるように構成しても、オア回路３９は確実に２ｍｓ毎にＬｏｗ信号を出力するので（Ｋ）、その遅延分が累積してしまうことはない。従って、第２実施例においても、ユーザーリセット割込を２ｍｓ毎に発生させ、リセット割込処理を２ｍｓ毎に実行することができる。
【００６５】
上記各実施例において、請求項１記載の読出手段としてはスイッチ読込処理（Ｓ８）が該当し、第１更新手段としては乱数更新処理（Ｓ６、図６）の処理が該当し、第２更新手段としては初期値カウンタ更新処理（Ｓ２１、図７）が該当する。定期処理としてはリセット割込処理（図５）のＳ１〜Ｓ１９の処理が該当し、所定の処理としてはリセット割込処理（図５）のＳ２０及びＳ２１の処理が該当する。
【００６６】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００６７】
以下に本発明の変形例を示す。請求項１記載の遊技機の制御装置において、遊技の制御主体となるＣＰＵを備え、そのＣＰＵからライト信号が出力されている間、前記禁止手段は前記割込処理の新たな発生を禁止することを特徴とする遊技機の制御装置１。
【００６８】
請求項１記載の遊技機の制御装置において、遊技の制御主体となるＣＰＵを備え、そのＣＰＵからリード信号が出力されている間に、前記禁止手段は前記割込処理の新たな発生を許容することを特徴とする遊技機の制御装置２。リード信号が出力されている間は、ＣＰＵによりメモリのリードが行われメモリへのライトは行われていない。よって、割込処理におけるライト処理の実行時に、その割込処理の新たな発生を禁止することができる。
【００６９】
請求項１記載の遊技機の制御装置において、遊技の制御主体となるＣＰＵを備え、そのＣＰＵからオペコードフェッチ信号が出力されている間に、前記禁止手段は前記割込処理の新たな発生を許容することを特徴とする遊技機の制御装置３。オペコードフェッチ信号が出力されている間は、ＣＰＵによりオペコードのリードが行われメモリへのライトは行われていない。よって、割込処理におけるライト処理の実行時に、その割込処理の新たな発生を禁止することができる。
【００７０】
請求項１記載の遊技機の制御装置、または、遊技機の制御装置１乃至３において、前記割込処理はノンマスカブルなリセット割込処理またはノンマスカブルなユーザーリセット割込処理で構成されていることを特徴とする遊技機の制御装置４。
【００７１】
請求項１記載の遊技機の制御装置、または、遊技機の制御装置１乃至４において、乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する第１更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の１つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与するものであり、更新中の前記乱数カウンタの初期値を記憶する初期値メモリと、その初期値メモリおよび乱数カウンタに書き込まれる値であって前記乱数カウンタの次回の更新の初期値をカウントする少なくとも２バイトで構成された初期値カウンタと、その初期値カウンタの値を読み出して前記乱数カウンタの更新の範囲内で更新し、更新後の値をその初期値カウンタへ書き込む第２更新手段と、その第２更新手段を前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し実行する繰返手段とを備えていることを特徴とする遊技機の制御装置５。
【００７２】
遊技機の制御装置５において、前記初期値カウンタの値は、前記乱数カウンタの値が前記初期値メモリの値と一致する場合に、前記乱数カウンタおよび初期値メモリに書き込まれることを特徴とする遊技機の制御装置６。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１実施例におけるパチンコ遊技機の遊技盤の正面図である。
【図２】パチンコ遊技機の電気的構成を示したブロック図である。
【図３】ユーザーリセット割込を２ｍｓの間隔で発生させる回路のブロック図である。
【図４】図３の回路のタイミングチャートである。
【図５】リセット割込処理を示したフローチャートである。
【図６】乱数更新処理を示したフローチャートである。
【図７】初期値カウンタ更新処理を示したフローチャートである。
【図８】第２実施例におけるユーザーリセット割込を２ｍｓの間隔で発生させる回路のブロック図である。
【図９】図８の回路のタイミングチャートである。
【符号の説明】
【００７４】
１１                  制御部のＣＰＵ（制御手段の一部、出力手段）
１３ａ                乱数カウンタ（乱数値記憶手段）
１３ｂ                初期値カウンタ（初期値記憶手段）
４０，５０            タイミング回路（定期処理実行遅延手段）
Ｃ                    制御部（制御手段）
Ｐ                    パチンコ遊技機（遊技機）
【図１】
0004683086.tif 000002
【図２】
0004683086.tif 000003
【図３】
0004683086.tif 000004
【図４】
0004683086.tif 000005
【図５】
0004683086.tif 000006
【図６】
0004683086.tif 000007
【図７】
0004683086.tif 000008
【図８】
0004683086.tif 000009
【図９】
0004683086.tif 000010