【書類名】 明細書
【発明の名称】 遊技機
【特許請求の範囲】
【請求項1】 定期的に実行される割込処理に基づいて遊技の制御を行う遊技機において、
前記割込処理の残余時間におけるライト処理の実行時に、その割込処理の新たな発生を禁止する禁止手段を備えており、
前記割込処理はノンマスカブルなリセット割込処理またはノンマスカブルなユーザーリセット割込処理で構成されていることを特徴とする遊技機。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、パチンコ遊技機などに代表される遊技機に関し、特に、「ぶら下げ基板」等による不正行為を防止することができる遊技機に関するものである。
【0002】
【従来の技術】 この種のパチンコ遊技機は、複数種類の図柄を変動表示可能な表示装置を備えており、遊技領域に打ち込まれた打球が図柄作動ゲートを通過すると、変動表示を開始するように構成されている。この変動表示が予め定められた図柄の組み合わせと一致して停止すると、大当たりとなって、遊技者に所定の遊技価値が付与され、大量の遊技球が払出可能な状態となる。
【0003】
かかる大当たりの発生の有無は、打球が図柄作動ゲートを通過するタイミングで決定される。即ち、1カウントずつ定期的に一定の範囲で(例えば、1カウントずつ、2ms毎に、0から630の範囲で)更新される乱数カウンタを備え、打球が図柄作動ゲートを通過したときに、その乱数カウンタの値を読み出して、読み出された乱数カウンタの値が、例えば「7」などの所定値と一致する場合に、大当たりを発生するようにしている。大当たりが発生すると、制御基板のコネクタに接続されたケーブルを介して、大当たりコマンドが表示装置の表示用基板へ送信される。表示装置では、受信された大当たりコマンドに基づいて、変動表示を制御し、所定の図柄の組み合わせで停止する大当たり表示を現出させるのである。
【0004】
ところが、最近、「ぶら下げ基板」と呼ばれる不正な基板を使用した不正行為が報告されている。この不正行為は、制御基板と表示装置の表示用基板との間に、不正な基板をぶら下げて(不正な「ぶら下げ基板」を取り付けて)、不当に大当たりを発生させるというものである。具体的には、前記したパチンコ遊技機に設けられる大当たりを決定するための乱数カウンタと同様の働きをするカウンタ(1カウントずつ定期的に一定の範囲で更新されるカウンタ)を「ぶら下げ基板」内に設け、そのカウンタの値をパチンコ遊技機の電源投入に合わせてリセット(0クリア)することにより、「ぶら下げ基板」内で大当たりの発生タイミングを把握するのである。そして、その把握した大当たりの発生タイミングに合わせて、「ぶら下げ基板」内で打球の図柄作動ゲート通過信号を不正に生成し、これをパチンコ遊技機の制御基板へ出力して、不当に大当たりを発生させるというものである。遊技場などでは、この「ぶら下げ基板」を用いた不正行為により、多大な被害を被っている。
【0005】
そこで、本願出願人は、特願平10−177539号において、大当たりの発生の有無を決定する乱数カウンタの更新の初期値をn回り毎に変更して(nは自然数)、「ぶら下げ基板」による大当たり発生タイミングの把握を不可能にする発明を提案した。この発明では、乱数カウンタとは別に、その乱数カウンタの更新の初期値を乱数カウンタの更新範囲内でカウントする初期値カウンタを設け、その初期カウンタの値を、定期的に実行されるリセット割込処理の残余時間の間に繰り返し更新するのである。
【0006】
リセット割込処理は、パチンコ遊技機の遊技の制御を行う処理であるので、遊技の状況に応じて処理時間が長短する。「ぶら下げ基板」は、リセット割込処理の長短する時間までは把握することができないので、次のリセット割込処理が発生するまでの残余時間の間に繰り返し更新される初期値カウンタの値を把握することはできない。よって、乱数カウンタの更新の初期値を「ぶら下げ基板」で把握不可能にして、「ぶら下げ基板」による不正行為を防止している。
【0007】
【発明が解決しようとする課題】 しかしながら、大当たりの発生確率は、一般に1/257以下であるので、乱数カウンタは2バイト以上で構成される。このため、乱数カウンタの次回の更新の初期値をカウントする初期値カウンタも2バイトで構成される。2バイトで構成される初期値カウンタの値をリセット割込処理の残余時間の間に繰り返し更新する場合、次回のリセット割込処理の発生タイミングによっては、初期値カウンタの値が本来更新されるべき範囲外の値、即ち、乱数カウンタの更新の範囲外の値になってしまうことがあるという問題点があった。
【0008】
例えば、乱数カウンタの値が「0〜276h」の範囲内で更新される場合であって、初期値カウンタの値が「1FFh」である場合について説明する。この場合には、初期値カウンタの値も「0〜276h」の範囲内で更新されなければならない。「1FFh」の初期値カウンタの値が読み出され、その値に例えば「+1」の更新を行って、更新後の値が「200h」になるとする。更新後の値が、68系CPUの2バイト書き込み命令によって、上位バイト、下位バイトの順に初期値カウンタへ書き込まれると、初期値カウンタの値は「1FFh」から上位バイトの書き込み後に「2FFh」となり、更に下位バイトの書き込みによって「200h」に更新される。しかし、上位バイトへの書き込み後であって下位バイトへの書き込み前に次のリセット割込処理が発生すると、リセット割込処理はノンマスカブルな割込処理であり命令の実行途中であっても強制的に実行されるので、下位バイトへの書き込みが行われないまま初期値カウンタの更新が終了する。すると、初期値カウンタの値は「2FFh」の値となり、乱数カウンタの更新の範囲外の値となってしまう。
【0009】
初期値カウンタの値が乱数カウンタの更新の範囲外の値となると、乱数カウンタの値は本来更新されるべき範囲外の値となるので、所定の不具合が生じる。例えば、大当たりの発生確率が予定していた確率と異なったものになったり、乱数カウンタの更新の初期値が以降は変更されなくなるのである。
【0010】
本発明は上述した問題点を解決するためになされたものであり、割込処理の残余時間の間に2バイト以上で構成されるカウンタの値を繰り返し更新しても、そのカウンタの値を本来の更新範囲内の値に維持できる遊技機を提供することを目的としている。
【0011】
【課題を解決するための手段】 この目的を達成するために請求項1記載の遊技機は、定期的に実行される割込処理に基づいて遊技の制御を行うものであり、前記割込処理の残余時間におけるライト処理の実行時に、その割込処理の新たな発生を禁止する禁止手段を備えており、前記割込処理はノンマスカブルなリセット割込処理またはノンマスカブルなユーザーリセット割込処理で構成されている。
【0012】
請求項1記載の遊技機によれば、割込処理の残余時間におけるライト処理の実行時には、禁止手段によって、その割込処理の新たな発生が禁止されるので、メモリへのデータの書き込み途中に次の割込処理が発生することはない。よって、割込処理の残余時間の間に2バイト以上で構成されるカウンタの値を繰り返し更新しても、そのカウンタの値を本来の更新範囲外の値としてしまうことはない。
【0013】
【発明の実施の形態】 以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例としてパチンコ遊技機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機やスロットマシン等の他の遊技機に用いることは、当然に可能である。
【0014】
図1は、第1実施例におけるパチンコ遊技機Pの遊技盤の正面図である。遊技盤1の周囲には、打球が入賞することにより5個から15個の遊技球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶(LCD)ディスプレイ3が設けられている。このLCDディスプレイ3の表示画面は横方向に3分割されており、3分割された各表示領域において、それぞれ図柄の変動表示が行われる。
【0015】
LCDディスプレイ3の下方には、図柄作動ゲート(第1種始動口)4が設けられ、打球がこの図柄作動ゲート4を通過することにより、前記したLCDディスプレイ3の変動表示が開始される。図柄作動ゲート4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCDディスプレイ3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、打球が入賞しやすいように所定時間(例えば、30秒経過するまで、あるいは、打球が10個入賞するまで)開放される入賞口である。この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、打球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に打球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値の付与された状態(特別遊技状態)である。
【0016】
図2は、かかるパチンコ遊技機Pの電気的構成を示したブロック図である。パチンコ遊技機Pの制御部Cは、演算装置であるCPU11と、そのCPU11により実行される各種の制御プログラムや固定値データを記憶したROM12と、各種のデータ等を一時的に記憶するためのメモリであるRAM13とを備えている。図5から図7に示すフローチャートのプログラムは、制御プログラムの一部としてROM12内に記憶されている。
【0017】
CPU11は、演算を行うALUのほか、アキュームレータ(以下「Acc」と称す)11aや複数の内部レジスタ11b、フラグレジスタ11cを備えている。RAM13内に設けられるカウンタ等の値は、一旦、CPU11の内部レジスタ11bへロードされ(読み込まれ)、その内部レジスタ11b内で更新された後に、RAM13の元のカウンタ内へセイブされて(書き込まれて)、更新される。
【0018】
なお、68系の8ビットCPU11では、ペアになっている2バイト(16ビット)の内部レジスタ11bの値を、連続したアドレスの2バイトのメモリ(RAM13内)へ1命令でセイブする(書き込む)ことができる。バスライン14のデータバスは8ビットで構成されるので、この場合の書き込みは、上位バイト、下位バイトの順に行われる。また、80系の8ビットCPUでは、68系のCPU11とは逆に、ペアになっている2バイト(16ビット)の内部レジスタの値を、連続したアドレスの2バイトのメモリへ、下位バイト上位バイトの順に1命令でセイブすることができる。
【0019】
RAM13は、乱数カウンタ13aと、初期値カウンタ13bと、初期値メモリ13cとを備えている。乱数カウンタ13aは、大当たりの発生を決定するためのカウンタであり、図6の乱数更新処理(S6)によって、「0〜630(0〜276h)」の範囲で、2ms毎に1カウントずつ更新される。このため乱数カウンタ13aは2バイトで構成されている。打球が図柄作動ゲート4を通過したときに取得した乱数カウンタ13aの値が例えば「7」であると、大当たりが発生する。大当たりが発生すると、大当たりコマンドが制御部Cから後述する表示装置Dへ送られる。表示装置Dは、この大当たりコマンドに基づいて、LCDディスプレイ3の変動表示を大当たりの状態に制御する。
【0020】
初期値カウンタ13bは、乱数カウンタ13aの更新の初期値をカウントするためのカウンタであり、乱数カウンタ13aと同様に2バイトで構成されている。この初期値カウンタ13bの値は、図7の初期値カウンタ更新処理(S21)によって、乱数カウンタ13aの更新範囲と同じ「0〜630(276h)」の範囲で、1カウントずつ更新される。
【0021】
図7の初期値カウンタ更新処理は、図5のリセット割込処理における残余時間の間、即ち、効果音処理(S19)の終了後、次のリセット割込処理が発生するまでの間に、繰り返し実行される(S21)。リセット割込処理は2ms毎に実行されるが、1回のリセット割込処理において実行されるS1からS19までの各処理の処理時間は遊技の状況に応じて変化するので、リセット割込処理の残余時間は、一定な時間ではなく、遊技の状況に応じて変化する不定な時間となる。「ぶら下げ基板」ではこの不定な時間を把握することはできないので、かかる不定な時間内に繰り返し更新される初期値カウンタ13bの値を乱数カウンタ13aの更新の初期値として使用することにより、「ぶら下げ基板」による大当たり発生のタイミングの把握を不可能にしている。
【0022】
初期値メモリ13cは、乱数カウンタ13aの更新の初期値を記憶するためのメモリであり、乱数カウンタ13aと同様に2バイトで構成されている。本実施例では、乱数カウンタ13aの更新の初期値は、乱数カウンタの一回りの更新毎に変更される。よって、更新された乱数カウンタ13aの値が初期値メモリ13cの値と一致すると、乱数カウンタ13aの一回りの更新が終了したことになるので、両値13a,13cの一致を契機として、そのときの初期値カウンタ13bの値が乱数カウンタ13aおよび初期値メモリ13cに書き込まれて、乱数カウンタ13aの更新の初期値が変更される。従って、乱数カウンタ13aの更新の初期値を変更しても、乱数の一様性(連続で取得した場合に同じ値を取ることがなく、しかも、すべての値が同じ確率で取り出せること)のある乱数値を得ることができるのである。
【0023】
これらのCPU11、ROM12、RAM13は、バスライン14を介して互いに接続されており、バスライン14は、また、入出力ポート15にも接続されている。この入出力ポート15は表示装置Dや他の入出力装置16と接続されている。制御部Cは、入出力ポート15を介して、表示装置Dや他の入出力装置16へ動作コマンドを送り、それら各装置を制御する。LCDディスプレイ3の変動表示や特定入賞口5の開閉動作も、この動作コマンドに基づいて制御される。
【0024】
表示装置Dは、CPU21と、プログラムROM22と、ワークRAM23と、ビデオRAM24と、キャラクタROM25と、画像コントローラ26と、入出力ポート27と、LCDディスプレイ3とを備えている。表示装置DのCPU21は、制御部Cから出力される動作コマンドに応じて、LCDディスプレイ3の表示制御(変動表示)を行うものであり、プログラムROM22には、このCPU21により実行されるプログラムが記憶されている。ワークRAM23は、CPU21によるプログラムの実行時に使用されるワークデータが記憶されるメモリである。
【0025】
ビデオRAM24は、LCDディスプレイ3に表示されるデータが記憶されるメモリであり、このビデオRAM24の内容を書き換えることにより、LCDディスプレイ3の表示内容が変更される。即ち、各表示領域における図柄の変動表示は、ビデオRAM24の内容が書き換えられることにより行われる。キャラクタROM25は、LCDディスプレイ3に表示される図柄などのキャラクタデータを記憶するメモリである。画像コントローラ26は、CPU21、ビデオRAM24、入出力ポート27のそれぞれのタイミングを調整して、データの読み書きを介在するとともに、ビデオRAM24に記憶される表示データをキャラクタROM25を参照して所定のタイミングでLCDディスプレイ3に表示させるものである。
【0026】
次に、図3および図4を参照して、図5のリセット割込処理の実行契機となるユーザーリセット割込の発生タイミングについて説明する。このユーザーリセット割込は、2ms毎であって、且つ、CPU11によりオペコードフェッチ信号が出力されるタイミング、即ち、CPU11のLIR端子の出力がHiからLowになるタイミングで発生するように構成されている。
【0027】
オペコードフェッチ信号が出力されている間は、CPU11によりROM12からオペコードのリードが行われているため、RAM13への書き込みが行われることはない。よって、かかるオペコードフェッチ信号に同期してユーザーリセット割込を発生させることにより、リセット割込処理の残余時間の間において初期値カウンタ13bの値を繰り返し更新しても、次のリセット割込処理が発生する時には、その初期値カウンタ13bの値を書き換えることがなく本来の更新範囲外の値としてしまうことはない。
【0028】
CPU11のリセット端子RESには、リセットIC31が接続されている。リセットIC31の出力(A)は、パチンコ遊技機Pの電源投入後所定時間が経過するとLowからHiへ立ち上がり、以降は、パチンコ遊技機Pの電源がオフされるまでHiを維持する。CPU11は、リセット端子RESへの入力がLowからHiへ立ち上がりHiを維持している間、動作を継続する。
【0029】
また、CPU11には、8.1920MHzの発振子(クロック)32が接続されている。クロック32の出力はCPU11内で4分周され、Eクロック端子から488.3ns周期の矩形状の発振波が出力される(B)。更に、ICLK端子からは、そのEクロックを4096分周した2ms周期の矩形波が出力される(C)。
【0030】
リセットIC31の出力端は、HC74で構成されるDフリップフロップ33のCLR端子にも接続されている。Dフリップフロップ33のCK端子は、CPU11のICLK端子と接続されており、PR端子およびD端子はVcc(+5V)に接続されているので、CPU11のICLK端子の出力が立ち上がるまでは、Dフリップフロップ33のQ出力はLow(G)、Qバー出力はHi(D)を維持している。CPU11のICLK端子の出力が一旦LowからHiへ立ち上がると(C)、Dフリップフロップ33のQ出力はHi(G)、Qバー出力はLow(D)となり、Dフリップフロップ33は、パチンコ遊技機Pの電源がオフされるまで、この出力を維持する。
【0031】
Dフリップフロップ33のQバー出力端は、2入力オア回路34の一方の入力端に接続されている。また、オア回路34のもう一つの入力端はCPU11のICLK端子に接続されている。よって、オア回路34の出力端からは、Dフリップフロップ33のQバー出力がLow(D)となってから以降、ICLK端子の出力(C)と同じ2ms周期の矩形波が出力される(E)。
【0032】
一方、CPU11のEクロック端子はインバータ35の入力端と接続され、そのインバータ35の出力端は、HC74で構成されるDフリップフロップ36のCK端子および2入力オア回路37の一方の入力端に接続されている。Dフリップフロップ36のPR端子はVccに、CLR端子は前記したDフリップフロップ33のQ出力端に、D端子はHC4020で構成されるバイナリカウンタ38のQ7出力端に、Q出力端はオア回路37の入力端に、それぞれ接続されている。更に、オア回路37の出力端は、カウンタ38のCK端子に接続されている。
【0033】
Dフリップフロップ36のCLR端子に入力されるDフリップフロップ33のQ出力は、CPU11のICLK端子の出力がLowからHiへ一旦立ち上がると(C)、以降はHiを維持する(G)。Dフリップフロップ36のPR端子にはVccが入力されているので、その後は、CPU11のEクッロク端子の出力(B)が反転されたインバータ35の出力(F)の立ち上がり毎に、D端子へ入力されるカウンタ38のQ7出力(I)の状態がDフリップフロップ36のQ端子から出力される(J)。よって、オア回路37は、Dフリップフロップ36のQ端子の出力がLowの間は(J)、Eクロックの反転出力(F)を出力し(H)、Dフリップフロップ36のQ端子の出力がHiの間は(J)、Hiを出力する(H)。
【0034】
カウンタ38のQ7端子は、Dフリップフロップ36のD端子と接続される他、2入力オア回路39の一つの入力端に接続されている。このオア回路39の他方の入力端にはオア回路34の出力端が接続されている。カウンタ38のQ7出力は、CLR端子への出力がHiになっている間(E)、Lowを維持する(I)。そして、CLR端子への出力がLowになった状態で(E)、CK端子へ64回立ち下がりクロックが入力されると(H)、Hiとなり(I)、そのQ7端子のHi出力は、CLR端子へHiが入力されるまで維持される(E,I)。
【0035】
オア回路39からは、オア回路34の出力およびカウンタ38のQ7出力が共にLowである場合に(E,I)、Lowが出力される(K)。よって、オア回路39の出力は、オア回路34の出力がLowとなった後(E)、カウンタ38のCK端子へ64回立ち下がりクロックが入力されるまで(H)、Low出力を維持する(K)。即ち、オア回路39からは、2ms毎に(C,E)、カウンタ38のCK端子へ64回立ち下がりクロックが入力されるまでの間(H)、Lowが出力される。
【0036】
なお、従来技術においては、このオア回路39の出力端がCPU11のURES端子に接続されており、オア回路39からLow出力されるタイミングでユーザーリセット割込が発生するように構成されていた。よって、このオア回路39の出力がLowを維持する期間が(K)、ユーザーリセット割込の発生を確定させるための期間になっていた。
【0037】
オア回路39の出力端は、タイミング回路40のインバータ41の入力端と、HC74で構成されるDフリップフロップ42のD端子に接続されている。タイミング回路40は、ユーザーリセット割込をオペコードフェッチに同期するタイミングで発生させるための回路である。オア回路39からは2ms毎にLowが出力されるので(K)、タイミング回路40では、そのLow出力を入力した後の最初のオペコードフェッチのタイミングで、CPU11のURES端子へLowを出力し(N)、ユーザーリセット割込を発生させるのである。
【0038】
タイミング回路40のインバータ41の入力端は、前記した通り、オア回路39の出力端に接続されており、そのインバータ41の出力端は、Dフリップフロップ42のPR端子に接続されている。Dフリップフロップ42のCLR端子はVccに接続されているので、CPU11のURES端子に接続されるDフリップフロップ42のQ端子からは、オア回路39からHi出力されている間(K)、Hiが出力され(N)、ユーザーリセット割込は発生しない。
【0039】
CPU11のLIR端子はインバータ43の入力端に接続され、そのインバータ43の出力端はDフリップフロップ42のCK端子に接続されている。オペコードフェッチがあるとLIR端子の出力はHiからLowへ立ち下がるので、オペコードフェッチの度に、インバータ43からDフリップフロップ42のCK端子へはLowからHiへの立ち上がり信号が出力される(M)。
【0040】
ここで、オア回路39からLowが出力されると(K)、Dフリップフロップ42のPR端子へHiが入力される(L)。CLR端子にはVccが入力されているので、CPU11からオペコードフェッチ信号が出力されLIR端子の出力がHiからLowへ立ち下がると、Dフリップフロップ42のCK端子への入力がLowからHiへ立ち上がり(M)、その時のD端子へ入力されているLow出力が(K)、Dフリップフロップ42のQ端子から出力されて(N)、CPU11のURES端子へ入力される。これにより、ユーザーリセット割込がオペコードフェッチのタイミングで発生するのである。
【0041】
なお、このようにユーザーリセット割込の発生タイミングを最初のオペコードフェッチのタイミングまで遅延させるように構成しても、オア回路39は確実に2ms毎にLow信号を出力するので(K)、その遅延分が累積してしまうことはない。従って、ユーザーリセット割込を2ms毎に実行することができるのである。
【0042】
次に、上記のように構成されたパチンコ遊技機Pで実行される各処理を、図5から図7のフローチャートを参照して説明する。図5は、パチンコ遊技機Pの制御部Cにおいて、2ms毎に実行されるリセット割込処理のフローチャートである。パチンコ遊技機Pの主な制御は、このリセット割込処理によって実行される。なお、このリセット割込処理は、電源投入時におけるリセット割込の発生時、および、前記したユーザーリセット割込の発生時に実行される。
【0043】
リセット割込処理では、まず、スタックポインタを設定し(S1)、RAM13の所定エリアに書き込まれているパターンのチェックを行う(S2)。チェックの結果、所定エリアに所定のパターンが書き込まれていれば、RAM13に異常はなく正常であるので(S2:正常)、処理をS3へ移行する。一方、S2のチェックの結果、所定エリアに所定のパターンが書き込まれていなければ、電源投入後のリセット割込により最初に実行されたリセット割込処理であるか、或いは、RAM13に異常があるので(S2:異常)、この場合には処理をS22へ移行して、一旦、RAM13の内容をクリアした後、RAM13内へ初期値を書き込んで(S22)、次のリセット割込処理の発生を待機する。
【0044】
S3の処理ではタイマ割込の設定を行う(S3)。ここで設定されるタイマ割込としては、LCDディスプレイ3の表示を制御するコマンドを表示装置Dへ送信するためのストローブ信号を発生させるタイマ割込などがある。タイマ割込の設定後は、各割込を許可状態とする(S4)。割込の許可後は、特別図柄変動処理(S15)や、表示データ作成処理(S17)、ランプ・情報処理(S18)などにより、前回のリセット割込処理において更新された出力データを一度に各ポートへ出力するポート出力処理を実行する(S5)。ポート出力処理の実行後は、後述する乱数更新処理(S6)を実行して、乱数カウンタ13aの値を「+1」更新し、更に、記憶タイマ減算処理を実行する(S7)。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、LCDディスプレイ3において図柄の変動表示中である場合に、図柄の変動表示時間の短縮を行うものである。
【0045】
スイッチ読込処理(S8)は、各スイッチの値を読み込むことにより、遊技領域1へ打ち込まれた打球の入賞口2や大入賞口5(Vゾーン5aを含む)への入賞、図柄作動ゲート4の通過、更には賞球や貸球を検出するための処理である。カウント異常監視処理(S9)は、S8のスイッチ読込処理によって読み込まれたスイッチデータに異常があるか否かを監視するための処理である。例えば、大入賞口5が開放され、打球のVゾーン5aの通過を検出するVカウントスイッチで打球が検出されたにも拘わらず、Vゾーン5a以外の大入賞口5への入賞を検出する10カウントスイッチで1球の打球も検出できない場合には、10カウントスイッチが抜き取られるか故障するなどして、10カウントスイッチに何らかの異常が発生している。また、賞球を払い出すモータを駆動したにも拘わらず、1球の賞球も払い出されない場合には、賞球の払出装置に何らかの異常が発生している。このようにカウント異常監視処理(S9)では、スイッチ読込処理(S8)によって読み込まれたスイッチデータに基づいて、上記のような異常の有無を監視している。
【0046】
図柄カウンタ更新処理(S10)では、LCDディスプレイ3で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理(S11)では、図柄カウンタ更新処理(S10)で更新されたカウンタの値に基づいて、特別図柄変動処理(S15)で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。
【0047】
S3からS11までの処理において、エラーが発生していなければ(S12:正常)、普通図柄変動処理(S13)によって、7セグメントLEDの変動表示を行うと共に、その変動表示の結果、当たりが発生した場合には普通電動役物(図示せず)を所定時間開放する当たり処理を実行する。その後、状態フラグをチェックし(S14)、LCDディスプレイ3の図柄の変動表示中であれば(S14:図柄変動中)、特別図柄変動処理(S15)によって、打球が図柄作動ゲート4を通過するタイミングで読みとられた乱数カウンタ13aの値に基づいて、大当たりか否かの判定が行われると共に、LCDディスプレイ3の表示図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば(S14:大当り中)、大入賞口5を開放するなどの大当たり処理(S16)を実行する。更に、状態フラグをチェックした結果、図柄の変動中でも大当たり中でもなければ(S14:その他)、S15及びS16の処理をスキップして、S17の表示データ作成処理へ移行する。なお、S12の処理において、エラーが確認された場合には(S12:エラー)、S13〜S16の各処理をスキップして、S17の表示データ作成処理へ移行する。
【0048】
表示データ作成処理(S17)では、図柄の変動表示以外にLCDディスプレイ3に表示されるデモデータや、7セグメントLEDの表示データなどが作成され、ランプ・情報処理(S18)では、保留球のランプデータをはじめ、各種のランプデータが作成される。効果音処理(S19)では、遊技の状況に応じた効果音データが作成される。なお、これらの表示データおよび効果音データは、前記したポート出力処理(S5)やタイマ割込処理によって各装置へ出力される。
【0049】
効果音処理(S19)の終了後は、次のリセット割込処理が発生するまでの残余時間の間、S10と同一の処理である図柄カウンタ更新処理(S20)と、初期値カウンタ更新処理(S21)とを繰り返し実行する。S1〜S19の各処理の実行時間は遊技の状態に応じて変化するので、次のリセット割込処理(次のユーザーリセット割込)が発生するまでの残余時間は、一定の時間ではなく、遊技の状態に応じて変化する。よって、かかる残余時間を使用して図柄カウンタ更新処理(S20)を繰り返し実行することにより、停止図柄をランダムに変更することができる。また、かかる残余時間を使用して初期値カウンタ更新処理(S21)を繰り返し実行することにより、乱数カウンタ13aの更新の初期値となる初期値カウンタ13bの値を「ぶら下げ基板」で把握不可能にすることができる。
【0050】
図6は、乱数更新処理のフローチャートである。乱数更新処理(S6)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの値を「0〜630(0〜276h)」の範囲内で「+1」ずつ更新すると共に、制御部Cで使用される他の乱数の更新を行っている。
【0051】
まず、2バイトで構成される乱数カウンタ13aの値を2バイトの内部レジスタ11bへ書き込む(S31)。内部レジスタ11bの値を1加算し(S32)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S33)。加算後の内部レジスタ11bの値が「631」以上であれば(S33:Yes)、更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S34)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S33:No)、更新範囲内の値であるので、S34の処理をスキップして、S35の処理へ移行する。
【0052】
S35の処理では、更新後の内部レジスタ11bの値と初期値メモリ13cの値とが比較される。初期値メモリ13cには乱数カウンタ13aの更新の初期値が記憶されているので、両値が等しい場合には(S35:Yes)、乱数カウンタ13aの更新は一回り終了したということである。よって、かかる場合には、2バイトの初期値カウンタ13bの値を内部レジスタ11bへ書き込み(S36)、その内部レジスタ11bの値を初期値メモリ13c及び乱数カウンタ13aへ書き込んで(S37,S38)、乱数カウンタ13aの更新の初期値を変更する。
【0053】
一方、更新後の内部レジスタ11bの値と初期値メモリ13cの値とが等しくない場合には(S35:No)、乱数カウンタ13aの更新は未だ一回り終了していないので、S36及びS37の処理をスキップして、S32からS34の処理で更新された内部レジスタ11bの値を乱数カウンタ13aへ書き込み(S38)、乱数カウンタ13aの更新を行う。その後は、制御部Cで使用される他の乱数の更新処理を行って(S39)、この乱数更新処理を終了する。
【0054】
図7は、リセット割込処理の残余時間の間に繰り返し実行される初期値カウンタ更新処理のフローチャートである。初期値カウンタ更新処理(S21)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの更新の初期値をカウントする初期値カウンタ13bの値を、乱数カウンタ13aの更新範囲の「0〜630(0〜276h)」の範囲内で「+1」ずつ更新する。
【0055】
まず、2バイトで構成される初期値カウンタ13bの値を2バイトの内部レジスタ11bへ書き込む(S41)。内部レジスタ11bの値を1加算し(S42)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S43)。加算後の内部レジスタ11bの値が「631」以上であれば(S43:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S44)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S43:No)、乱数カウンタ13aの更新範囲内の値であるので、S44の処理をスキップして、S45の処理へ移行する。S45の処理では、更新された内部レジスタ11bの値を、68系CPU11の2バイト書き込み命令によって上位バイト下位バイトの順に初期値カウンタ13bへ書き込むのである。
【0056】
前記した通り、初期値カウンタ更新処理は、リセット割込処理において、次のリセット割込が発生するまでの残余時間の間に繰り返し実行される(S21)。このため、S45の処理によって内部レジスタ11bの上位バイトが初期値カウンタ13bへ書き込まれた後であって下位バイトの書き込み前に2msが経過して、次のユーザーリセット割込が発生するタイミングが到来する場合がある。ユーザーリセット割込は、割込の優先順位が最も高く、割込処理の開始を禁止できないノンマスカブルな割込である。しかし、前記した通り、ユーザーリセット割込の発生は、タイミング回路40によって、2msの経過後の最初のオペコードフェッチのタイミングまでに遅延されるので、CPU11による書き込み命令の実行中に、ユーザーリセット割込が発生してリセット割込処理が実行されることはない。よって、リセット割込処理の残余時間の間に、初期値カウンタ13bの値を繰り返し更新しても、初期値カウンタ13bの値を本来の更新範囲内の値である「0〜630(0〜276h)」の範囲内に維持することができるのである。
【0057】
次に、図8および図9を参照して、第2実施例のタイミング回路50について説明する。第1実施例のタイミング回路40はオペコードフェッチ信号(LIR端子の出力)を利用してユーザーリセット割込を発生させるように構成したが、第2実施例のタイミング回路50は、リード信号(R/Wバー端子のHi出力)を利用してユーザーリセット割込を発生させている。
【0058】
ここで、リード信号は、CPU11によってROM12,RAM13などのメモリに記憶されるデータが読み出されている場合に出力される信号であり、R/Wバー端子からHiの信号として出力される。一方、ライト信号は、CPU11によってRAM13などのメモリへデータの書き込みが行われている場合に出力される信号であり、R/Wバー端子からLowの信号として出力される。詳細には、Eクロック端子の出力がHiレベルである場合に、リード信号およびライト信号は有効となる。このため本実施例では、アンド回路53によってEクロック端子とR/Wバー端子との出力のアンド論理をとって、Dフリップフロップ54のCK端子へ入力するように構成している(図8参照)。
【0059】
よって、リード信号が出力されている間は(アンド回路53からHi信号が出力されている間は)、CPU11によりROM12やRAM13等のデータが読み込まれており、RAM13への書き込みは行われていない。従って、かかるリード信号に同期してユーザーリセット割込を発生させることにより、リセット割込処理の残余時間の間において、初期値カウンタ13bの値を繰り返し更新しても(図5のS21)、次のリセット割込処理が発生する時には、その初期値カウンタ13bの値を書き換えることがなく本来の更新範囲外の値としてしまうことはない。なお、前記した第1実施例と同一の部分には同一の符号を付し、その説明は省略し、異なる部分のみ説明する。
【0060】
オア回路39の出力端は、タイミング回路50のインバータ51の入力端と、HC74で構成されるDフリップフロップ52のD端子に接続されている。タイミング回路50は、リード信号が出力されている間に、ユーザーリセット割込を発生させるための回路である。言い換えれば、タイミング回路50は、ライト信号が出力されている間に、ユーザーリセット割込の発生を禁止するための回路でもある。
【0061】
タイミング回路50のインバータ51の入力端は、前記した通り、オア回路39の出力端に接続されており、そのインバータ51の出力端は、Dフリップフロップ52のPR端子に接続されている。Dフリップフロップ52のCLR端子はVccに接続されているので、CPU11のURES端子に接続されるDフリップフロップ52のQ端子からは、オア回路39からHi出力されている間(K)、Hiが出力され(Q)、ユーザーリセット割込は発生しない。
【0062】
CPU11のR/Wバー端子は、2入力アンド回路53の一つの入力端に接続され、そのアンド回路53の他の入力端はCPU11のEクロック端子に接続されている。更に、アンド回路53の出力端はDフリップフロップ52のCK端子に接続されている。CPU11からリード信号が出力されR/Wバー端子の出力がHiとなった状態で、Eクロックの出力がLowからHiへ立ち上がると(B)、アンド回路53からDフリップフロップ52のCK端子へLowからHiへの立ち上がり信号が出力される(P)。
【0063】
ここで、オア回路39からLowが出力されていると(K)、Dフリップフロップ52のPR端子へHiが入力される(L)。CLR端子にはVccが入力されているので、R/Wバー端子からHiが出力された状態でEクロックの出力がLowからHiへ立ち上がると(B)、Dフリップフロップ52のCK端子への入力がLowからHiへ立ち上がり(P)、その時のD端子へ入力されているLow出力が(K)、Dフリップフロップ52のQ端子からCPU11のURES端子へ出力される(Q)。これにより、リード信号が出力されているタイミングでユーザーリセット割込が発生する。従って、初期値カウンタ13bへの書き込み中に、次のリセット割込処理の実行が開始されることはない。
【0064】
なお、このようにユーザーリセット割込の発生タイミングを、オア回路39の出力がLowとなった後であって、最初のリード信号が出力され、且つ、Eクロック端子の出力が立ち上がるタイミングまで遅延させるように構成しても、オア回路39は確実に2ms毎にLow信号を出力するので(K)、その遅延分が累積してしまうことはない。従って、第2実施例においても、ユーザーリセット割込を2ms毎に発生させ、リセット割込処理を2ms毎に実行することができる。
【0065】
上記各実施例において、請求項1記載の割込処理としては、ノンマスカブルなリセット割込処理(図5)が該当する。
【0066】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0067】
以下に本発明の変形例を示す。請求項1記載の遊技機の制御装置において、遊技の制御主体となるCPUを備え、そのCPUからライト信号が出力されている間、前記禁止手段は前記割込処理の新たな発生を禁止することを特徴とする遊技機の制御装置1。
【0068】
請求項1記載の遊技機の制御装置において、遊技の制御主体となるCPUを備え、そのCPUからリード信号が出力されている間に、前記禁止手段は前記割込処理の新たな発生を許容することを特徴とする遊技機の制御装置2。リード信号が出力されている間は、CPUによりメモリのリードが行われメモリへのライトは行われていない。よって、割込処理におけるライト処理の実行時に、その割込処理の新たな発生を禁止することができる。
【0069】
請求項1記載の遊技機の制御装置において、遊技の制御主体となるCPUを備え、そのCPUからオペコードフェッチ信号が出力されている間に、前記禁止手段は前記割込処理の新たな発生を許容することを特徴とする遊技機の制御装置3。オペコードフェッチ信号が出力されている間は、CPUによりオペコードのリードが行われメモリへのライトは行われていない。よって、割込処理におけるライト処理の実行時に、その割込処理の新たな発生を禁止することができる。
【0070】
請求項1記載の遊技機の制御装置、または、遊技機の制御装置1乃至3において、前記割込処理はノンマスカブルなリセット割込処理またはノンマスカブルなユーザーリセット割込処理で構成されていることを特徴とする遊技機の制御装置4。
【0071】
請求項1記載の遊技機の制御装置、または、遊技機の制御装置1乃至4において、乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する第1更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与するものであり、更新中の前記乱数カウンタの初期値を記憶する初期値メモリと、その初期値メモリおよび乱数カウンタに書き込まれる値であって前記乱数カウンタの次回の更新の初期値をカウントする少なくとも2バイトで構成された初期値カウンタと、その初期値カウンタの値を読み出して前記乱数カウンタの更新の範囲内で更新し、更新後の値をその初期値カウンタへ書き込む第2更新手段と、その第2更新手段を前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し実行する繰返手段とを備えていることを特徴とする遊技機の制御装置5。
【0072】
遊技機の制御装置5において、前記初期値カウンタの値は、前記乱数カウンタの値が前記初期値メモリの値と一致する場合に、前記乱数カウンタおよび初期値メモリに書き込まれることを特徴とする遊技機の制御装置6。
【0073】
【発明の効果】 本発明の遊技機によれば、割込処理の残余時間におけるライト処理の実行時には、その割込処理の新たな発生が禁止されるので、メモリへのデータの書き込み途中に次の割込処理が発生することはない。よって、割込処理の残余時間の間に2バイト以上で構成されるカウンタの値を繰り返し更新しても、そのカウンタの値を本来の更新範囲内の値に維持できるという効果がある。
【図面の簡単な説明】
【図1】 本発明の第1実施例におけるパチンコ遊技機の遊技盤の正面図である。
【図2】 パチンコ遊技機の電気的構成を示したブロック図である。
【図3】 ユーザーリセット割込を2msの間隔で発生させる回路のブロック図である。
【図4】 図3の回路のタイミングチャートである。
【図5】 リセット割込処理を示したフローチャートである。
【図6】 乱数更新処理を示したフローチャートである。
【図7】 初期値カウンタ更新処理を示したフローチャートである。
【図8】 第2実施例におけるユーザーリセット割込を2msの間隔で発生させる回路のブロック図である。
【図9】 図8の回路のタイミングチャートである。
【符号の説明】
11 制御部のCPU
13 制御部のRAM
13a 乱数カウンタ
13b 初期値カウンタ
13c 初期値メモリ
40,50 タイミング回路(禁止手段)
C 制御部
P パチンコ遊技機(遊技機)
[Document name] statement
[Title of the Invention]Machine
[Claim of claim]
1. A game in which a game is controlled based on an interruption process periodically executed.MachineIn
At the time of execution of the write process in the remaining time of the interrupt process, a prohibiting means is provided for prohibiting the new occurrence of the interrupt process,
A game machine characterized in that the interrupt process is configured by non-maskable reset interrupt process or non-maskable user reset interrupt process.
Detailed Description of the Invention
[0001]
TECHNICAL FIELD The present invention relates to a game represented by a pachinko game machine and the like.MachineGame, in particular, it is possible to prevent cheating by "hanging board" etc.MachineIt is about
[0002]
2. Description of the Related Art A pachinko gaming machine of this type is provided with a display device capable of variably displaying a plurality of types of symbols, and starts variable display when a ball hit in the game area passes through a symbol operation gate. Is configured. When the variable display is stopped in accordance with a predetermined combination of symbols, the player wins, a predetermined gaming value is given to the player, and a large amount of gaming balls can be paid out.
[0003]
The presence or absence of the occurrence of such a jackpot is determined at the timing when the hit ball passes through the symbol actuation gate. That is, it has a random number counter which is periodically updated in a fixed range (for example, every 1 ms, every 2 ms, in the range of 0 to 630) by one count, and when the bat passes the symbol operation gate The value of the random number counter is read out, and when the value of the read random number counter matches a predetermined value such as “7”, for example, a jackpot is generated. When a jackpot occurs, a jackpot command is transmitted to the display substrate of the display device through the cable connected to the connector of the control substrate. In the display device, the variable display is controlled based on the received jackpot command, and the jackpot display to be stopped at a predetermined combination of symbols is made to appear.
[0004]
Recently, however, there have been reports of fraudulent use of a fraudulent board called "hanging board". This fraudulent action is to hang a fraudulent substrate between the control substrate and the display substrate of the display device (by mounting a fraudulent "hanging substrate") to generate a jackpot unfairly. Specifically, a counter having the same function as a random number counter for determining a jackpot provided in the pachinko gaming machine described above (a counter that is periodically updated in a certain range by one count) is included in the “hanging board”. The value of the counter is reset (0 clear) in accordance with the power-on of the pachinko gaming machine, thereby grasping the occurrence timing of the jackpot in the “hanging board”. And, according to the generation timing of the big hit that was grasped, it generates illegally the symbol operation gate passing signal of the hitting ball in the “hanging board” and outputs it to the control board of the pachinko gaming machine, generating a big hit unreasonably It is something that In game arcades and the like, fraudulent acts using this “hanging board” have suffered a great deal of damage.
[0005]
Therefore, in the Japanese Patent Application No. 10-177539, the applicant of the present invention changes the initial value of the update of the random number counter which determines the presence or absence of the big hit every n (n is a natural number). We proposed an invention that made it impossible to grasp the jackpot occurrence timing. In the present invention, an initial value counter for counting the initial value of updating of the random number counter within the updating range of the random number counter is provided separately from the random number counter, and the value of the initial counter is reset interrupt periodically executed. It is repeatedly updated during the remaining time of the process.
[0006]
Since the reset interruption process is a process of controlling the game of the pachinko gaming machine, the processing time is shortened according to the situation of the game. Since the "hanging board" can not be grasped until the length of the reset interrupt process is long or short, it is possible to grasp the value of the initial value counter that is repeatedly updated during the remaining time until the next reset interrupt process occurs. You can not do it. Therefore, the initial value of the update of the random number counter can not be grasped by the "hanging board", and the fraudulent act by the "hanging board" is prevented.
[0007]
However, since the probability of occurrence of the jackpot is generally 1/257 or less, the random number counter is composed of 2 bytes or more. Therefore, the initial value counter that counts the initial value of the next update of the random number counter is also configured with 2 bytes. When the value of the initial value counter consisting of 2 bytes is repeatedly updated during the remaining time of the reset interrupt processing, the value of the initial value counter should be updated according to the generation timing of the next reset interrupt processing. There is a problem that the value is out of range, that is, the value may be out of the range of updating of the random number counter.
[0008]
For example, the case where the value of the random number counter is updated within the range of “0 to 276 h” and the value of the initial value counter is “1 FF h” will be described. In this case, the value of the initial value counter must also be updated within the range of "0 to 276 h". It is assumed that the value of the initial value counter of “1FFh” is read out, and the value is updated, for example, by “+1”, and the updated value becomes “200h”. When the updated value is written to the initial value counter in the order of the upper byte and lower byte by the 2-byte write instruction of the 68 series CPU, the value of the initial value counter becomes "2FFh" after the upper byte is written from "1FFh". , And is updated to "200h" by writing the lower byte. However, if the next reset interrupt process occurs after writing to the upper byte but before writing to the lower byte, the reset interrupt process is a non-maskable interrupt process and forced even if the instruction is being executed The update of the initial value counter ends without writing to the lower byte. Then, the value of the initial value counter becomes “2FFh”, which is out of the range of updating the random number counter.
[0009]
If the value of the initial value counter is out of the range of updating of the random number counter, the value of the random number counter will be out of the range to be originally updated, which causes a predetermined failure. For example, the probability of occurrence of the jackpot will be different from the expected probability, or the initial value of the update of the random number counter will not be changed thereafter.
[0010]
The present invention has been made to solve the above-mentioned problems, and even if the value of a counter consisting of 2 bytes or more is repeatedly updated during the remaining time of interrupt processing, the value of the counter is inherently A game that can be maintained at a value within the update range ofMachineThe purpose is to provide.
[0011]
[Means for Solving the Problems] In order to achieve this object, a gaming machine according to claim 1IsControlling the game based on the interrupt process periodically executed, and prohibiting new occurrence of the interrupt process at the time of executing the write process in the remaining time of the interrupt process prepare forThe interrupt process is composed of non-maskable reset interrupt process or non-maskable user reset interrupt process.
[0012]
The gaming machine according to claim 1ToAccording to this, at the time of execution of the write process in the remaining time of the interrupt process, since the prohibiting means prohibits the new occurrence of the interrupt process, the next interrupt process occurs while writing the data to the memory. There is nothing to do. Therefore, even if the value of the counter consisting of 2 bytes or more is repeatedly updated during the remaining time of the interrupt processing, the value of the counter will not be outside the original update range.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION Preferred embodiments of the present invention will be described below with reference to the accompanying drawings. In this embodiment, a pachinko gaming machine, in particular, a first type pachinko gaming machine will be described as an example of a gaming machine. Naturally, it is possible to use the present invention for other game machines such as a third type pachinko machine and slot machine.
[0014]
FIG. 1 is a front view of a game board of a pachinko gaming machine P according to a first embodiment. Around the game board 1, there are provided a plurality of winning openings 2 in which five to fifteen gaming balls are paid out when a hit ball is won. Further, at the center of the game board 1, a liquid crystal (LCD) display 3 is provided which displays symbols or the like as plural types of identification information. The display screen of the LCD display 3 is divided into three in the horizontal direction, and variable display of symbols is performed in each of the three divided display areas.
[0015]
Below the LCD display 3, a symbol actuation gate (type 1 starting opening) 4 is provided, and when the ball passes the symbol actuation gate 4, the variable display of the LCD display 3 described above is started. Below the symbol operating gate 4, a specific winning opening (large winning opening) 5 is provided. When the display result after the change of the LCD display 3 matches one of the predetermined combination of symbols, the specific winning hole 5 is a big hit and a predetermined time (for example, 30) so that the hitting ball is easy to win. It is a winning opening which is opened until seconds have passed or until ten hits have been won. A V zone 5a is provided in the specific winning a prize opening 5. If the hitting ball passes in the V zone 5a while the specific winning a prize opening 5 is open, the right to continue is established, and the specific winning a prize opening 5 is closed. After that, the specified winning combination opening 5 is opened again for a predetermined time (or until the hitting number of the specified winning combination opening 5 reaches a predetermined number). The opening / closing operation of the specific winning opening 5 is repeatable up to 16 times (16 rounds), and the state in which the opening / closing operation can be performed is a state where a so-called predetermined gaming value is provided (special game state) is there.
[0016]
FIG. 2 is a block diagram showing the electrical configuration of the pachinko gaming machine P. As shown in FIG. The control unit C of the pachinko gaming machine P has a CPU 11 which is an arithmetic device, a ROM 12 storing various control programs executed by the CPU 11 and fixed value data, and a memory for temporarily storing various data and the like. And the RAM 13. The programs of the flowcharts shown in FIG. 5 to FIG. 7 are stored in the ROM 12 as a part of the control program.
[0017]
The CPU 11 includes an accumulator (hereinafter referred to as "Acc") 11a, a plurality of internal registers 11b, and a flag register 11c, in addition to an ALU that performs operations. The value of the counter or the like provided in the RAM 13 is once loaded (read) into the internal register 11b of the CPU 11, updated in the internal register 11b, and saved (written) into the original counter of the RAM 13. ) Is updated.
[0018]
Note that the 68-system 8-bit CPU 11 saves (writes) the value of the 2-byte (16-bit) internal register 11 b forming a pair to a 2-byte memory (in the RAM 13) of a continuous address in one instruction. be able to. Since the data bus of the bus line 14 is composed of 8 bits, writing in this case is performed in the order of the upper byte and the lower byte. In addition, in the 80 series 8-bit CPU, contrary to the 68 series CPU 11, the value of the 2-byte (16-bit) internal register which is a pair is transferred to the 2-byte memory of the continuous address, the low-order byte high order It can save with one instruction in byte order.
[0019]
The RAM 13 includes a random number counter 13a, an initial value counter 13b, and an initial value memory 13c. The random number counter 13a is a counter for determining the occurrence of a big hit, and is updated by one count every 2 ms within the range of "0 to 630 (0 to 276 h)" by the random number updating process (S6) of FIG. Ru. Therefore, the random number counter 13a is composed of 2 bytes. If the value of the random number counter 13a acquired when the hit ball passes through the symbol operation gate 4 is, for example, "7", a big hit occurs. When a jackpot occurs, a jackpot command is sent from the control unit C to a display device D described later. The display device D controls the variable display of the LCD display 3 to the jackpot state based on the jackpot command.
[0020]
The initial value counter 13b is a counter for counting the initial value of the update of the random number counter 13a, and is configured by 2 bytes as the random number counter 13a. The value of the initial value counter 13b is updated one count at a time in the range of "0 to 630 (276h)" which is the same as the update range of the random number counter 13a by the initial value counter update process (S21) of FIG.
[0021]
The initial value counter updating process of FIG. 7 is repeated during the remaining time in the reset interrupt process of FIG. 5, that is, after the end of the sound effect process (S19) until the next reset interrupt process occurs. It is executed (S21). The reset interrupt process is executed every 2 ms, but the processing time of each process from S1 to S19 executed in one reset interrupt process varies according to the game situation, so The remaining time is not a fixed time, but an indefinite time that changes according to the game situation. In the case of “hanging board”, since this indefinite time can not be grasped, “hanging” can be performed by using the value of the initial value counter 13b which is repeatedly updated within such indefinite time as the initial value of updating of the random number counter 13a. It is impossible to grasp the timing of jackpot occurrence by “substrate”.
[0022]
The initial value memory 13c is a memory for storing the initial value of the update of the random number counter 13a, and is configured by 2 bytes as the random number counter 13a. In the present embodiment, the initial value of the update of the random number counter 13a is changed at each round of update of the random number counter. Therefore, when the value of the updated random number counter 13a matches the value of the initial value memory 13c, one round of update of the random number counter 13a is completed, so that the coincidence of both the values 13a and 13c is triggered at that time. The value of the initial value counter 13b is written to the random number counter 13a and the initial value memory 13c, and the initial value of the update of the random number counter 13a is changed. Therefore, even if the initial value of the update of the random number counter 13a is changed, the uniformity of the random number (without taking the same value when continuously obtained, and all values can be taken out with the same probability) It is possible to obtain random numbers.
[0023]
The CPU 11, the ROM 12 and the RAM 13 are connected to one another via a bus line 14, and the bus line 14 is also connected to an input / output port 15. The input / output port 15 is connected to the display device D or another input / output device 16. The control unit C sends an operation command to the display device D or another input / output device 16 via the input / output port 15 to control each of the devices. The variable display of the LCD display 3 and the opening / closing operation of the specific winning opening 5 are also controlled based on this operation command.
[0024]
The display device D includes a CPU 21, a program ROM 22, a work RAM 23, a video RAM 24, a character ROM 25, an image controller 26, an input / output port 27, and an LCD display 3. The CPU 21 of the display device D performs display control (variation display) of the LCD display 3 according to the operation command output from the control unit C, and the program ROM 22 stores the program executed by the CPU 21. It is done. The work RAM 23 is a memory for storing work data used when the CPU 21 executes a program.
[0025]
The video RAM 24 is a memory in which data to be displayed on the LCD display 3 is stored, and the display content of the LCD display 3 is changed by rewriting the content of the video RAM 24. That is, the variable display of symbols in each display area is performed by rewriting the contents of the video RAM 24. The character ROM 25 is a memory for storing character data such as symbols displayed on the LCD display 3. The image controller 26 adjusts the respective timings of the CPU 21, the video RAM 24, and the input / output port 27 to intervene in reading and writing of data, and refers to the display data stored in the video RAM 24 with reference to the character ROM 25 at a predetermined timing. It is displayed on the LCD display 3.
[0026]
Next, with reference to FIG. 3 and FIG. 4, the generation timing of the user reset interrupt which becomes the execution trigger of the reset interrupt process of FIG. 5 will be described. This user reset interrupt is configured to occur every 2 ms and at the timing when the opcode fetch signal is output by the CPU 11, that is, the timing when the output of the LIR terminal of the CPU 11 changes from Hi to Low. .
[0027]
While the opcode fetch signal is being output, since the opcode is read from the ROM 12 by the CPU 11, writing to the RAM 13 is not performed. Therefore, by generating a user reset interrupt in synchronization with the operation code fetch signal, even if the value of the initial value counter 13b is repeatedly updated during the remaining time of the reset interrupt process, the next reset interrupt process is performed. At the time of occurrence, the value of the initial value counter 13b is not rewritten and the value is not set outside the original update range.
[0028]
A reset IC 31 is connected to the reset terminal RES of the CPU 11. The output (A) of the reset IC 31 rises from Low to Hi when a predetermined time elapses after the pachinko gaming machine P is turned on, and thereafter maintains Hi until the pachinko gaming machine P is turned off. The CPU 11 continues the operation while the input to the reset terminal RES rises from low to high and maintains high.
[0029]
Further, an oscillator (clock) 32 of 8.1920 MHz is connected to the CPU 11. The output of the clock 32 is divided into four in the CPU 11, and a rectangular oscillation wave of 488.3 ns period is output from the E clock terminal (B). Further, a square wave of 2 ms period obtained by dividing the E clock by 4096 is outputted from the ICLK terminal (C).
[0030]
The output end of the reset IC 31 is also connected to the CLR terminal of the D flip flop 33 formed of HC 74. The CK terminal of the D flip flop 33 is connected to the ICLK terminal of the CPU 11, and the PR terminal and the D terminal are connected to Vcc (+5 V). Therefore, until the output of the ICLK terminal of the CPU 11 rises, the D flip flop is The Q output of 33 maintains Low (G), and the Q-bar output maintains Hi (D). Once the output of the ICLK terminal of the CPU 11 rises from low to high (C), the Q output of the D flip flop 33 becomes Hi (G), the Q bar output becomes low (D), and the D flip flop 33 is a pachinko gaming machine This output is maintained until the power of P is turned off.
[0031]
The Q-bar output end of the D flip flop 33 is connected to one input end of the 2-input OR circuit 34. The other input terminal of the OR circuit 34 is connected to the ICLK terminal of the CPU 11. Therefore, after the Q-bar output of the D flip flop 33 becomes Low (D) from the output terminal of the OR circuit 34, a rectangular wave with a 2 ms cycle same as the output (C) of the ICLK terminal is output (E ).
[0032]
On the other hand, the E clock terminal of the CPU 11 is connected to the input terminal of the inverter 35, and the output terminal of the inverter 35 is connected to the CK terminal of the D flip flop 36 composed of HC 74 and one input terminal of the 2-input OR circuit 37 It is done. The D terminal of the D flip flop 36 is Vcc, the CLR terminal is at the Q output end of the D flip flop 33, the D terminal is at the Q7 output end of the binary counter 38 composed of HC 4020, and the Q output end is the OR circuit 37 Are respectively connected to the input ends of. Further, the output terminal of the OR circuit 37 is connected to the CK terminal of the counter 38.
[0033]
The Q output of the D flip flop 33 input to the CLR terminal of the D flip flop 36 maintains Hi (G) when the output of the ICLK terminal of the CPU 11 temporarily rises from Low to Hi (C). Since Vcc is input to the PR terminal of the D flip flop 36, thereafter, the output (B) of the E crook terminal of the CPU 11 is input to the D terminal at every rise of the output (F) of the inverter 35 inverted. The state of the Q7 output (I) of the counter 38 is outputted from the Q terminal of the D flip flop 36 (J). Therefore, while the output of the Q terminal of the D flip flop 36 is Low (J), the OR circuit 37 outputs the inverted output (F) of the E clock (H) (H), and the output of the Q terminal of the D flip flop 36 is During Hi, (J) outputs Hi (H).
[0034]
The Q7 terminal of the counter 38 is connected to the D terminal of the D flip flop 36 and also connected to one input end of the two-input OR circuit 39. The output terminal of the OR circuit 34 is connected to the other input terminal of the OR circuit 39. The Q7 output of the counter 38 maintains Low (I) while the output to the CLR terminal is Hi (E). When the output to the CLR terminal is low (E) and the falling clock is input 64 times to the CK terminal (H), it becomes Hi (I), and the Hi output of the Q7 terminal is CLR. This is maintained until Hi is input to the terminal (E, I).
[0035]
When the output of the OR circuit 34 and the Q7 output of the counter 38 are both Low (E, I), the OR circuit 39 outputs Low (K). Therefore, the output of the OR circuit 39 maintains the Low output until the falling edge of the CK terminal of the counter 38 is input 64 times (H) after the output of the OR circuit 34 becomes Low (E) (H) K). That is, Low (H) is output from the OR circuit 39 (C, E) every 2 ms until the falling clock is input 64 times to the CK terminal of the counter 38 (H).
[0036]
In the prior art, the output terminal of the OR circuit 39 is connected to the URES terminal of the CPU 11, and the user reset interrupt is generated at the timing when the OR circuit 39 outputs Low. Therefore, the period for which the output of the OR circuit 39 is maintained at Low (K) is the period for determining the occurrence of the user reset interrupt.
[0037]
The output terminal of the OR circuit 39 is connected to the input terminal of the inverter 41 of the timing circuit 40 and the D terminal of the D flip flop 42 formed of HC 74. The timing circuit 40 is a circuit for generating a user reset interrupt at a timing synchronized with the operation code fetch. Since Low is output from the OR circuit 39 every 2 ms (K), the timing circuit 40 outputs Low to the URES terminal of the CPU 11 at the timing of the first opcode fetch after the Low output is input (N ), Generate a user reset interrupt.
[0038]
As described above, the input end of the inverter 41 of the timing circuit 40 is connected to the output end of the OR circuit 39, and the output end of the inverter 41 is connected to the PR terminal of the D flip-flop 42. Since the CLR terminal of the D flip flop 42 is connected to Vcc, while Q is outputted from the OR circuit 39 from the Q terminal of the D flip flop 42 connected to the URES terminal of the CPU 11 (K), Hi is Output (N), user reset interrupt does not occur.
[0039]
The LIR terminal of the CPU 11 is connected to the input terminal of the inverter 43, and the output terminal of the inverter 43 is connected to the CK terminal of the D flip flop 42. Since the output of the LIR terminal falls from Hi to Low when there is an opcode fetch, a rise signal from Low to Hi is output from the inverter 43 to the CK terminal of the D flip-flop 42 at each opcode fetch (M) .
[0040]
Here, when Low is output from the OR circuit 39 (K), Hi is input to the PR terminal of the D flip-flop 42 (L). Since Vcc is input to the CLR terminal, when the opcode fetch signal is output from the CPU 11 and the output of the LIR terminal falls from Hi to Low, the input to the CK terminal of the D flip-flop 42 rises from Low to Hi ( M) The Low output inputted to the D terminal at that time (K) is outputted from the Q terminal of the D flip flop 42 (N) and inputted to the URES terminal of the CPU 11. As a result, a user reset interrupt occurs at the timing of opcode fetch.
[0041]
Note that, even if the occurrence timing of the user reset interrupt is delayed to the timing of the first op code fetch in this way, the OR circuit 39 surely outputs the Low signal every 2 ms (K). Minutes do not accumulate. Therefore, the user reset interrupt can be executed every 2 ms.
[0042]
Next, each process performed by the pachinko gaming machine P configured as described above will be described with reference to the flowcharts of FIGS. 5 to 7. FIG. 5 is a flowchart of the reset interruption process executed every 2 ms in the control unit C of the pachinko gaming machine P. The main control of the pachinko gaming machine P is executed by this reset interrupt process. The reset interrupt process is executed when a reset interrupt occurs at power-on and when the user reset interrupt described above occurs.
[0043]
In the reset interrupt process, first, a stack pointer is set (S1), and a pattern written in a predetermined area of the RAM 13 is checked (S2). As a result of the check, if the predetermined pattern is written in the predetermined area, there is no abnormality in the RAM 13 and it is normal (S2: normal), the processing is shifted to S3. On the other hand, as a result of the check in S2, if the predetermined pattern is not written in the predetermined area, it is the reset interrupt processing that is initially executed by the reset interrupt after power on, or there is an abnormality in the RAM 13. (S2: abnormal), in this case, the process proceeds to S22, and once the contents of the RAM 13 are cleared, an initial value is written in the RAM 13 (S22), and the next generation of a reset interrupt process is waited for Do.
[0044]
In the process of S3, a timer interrupt is set (S3). The timer interrupt set here is, for example, a timer interrupt that generates a strobe signal for transmitting a command for controlling the display of the LCD display 3 to the display device D. After setting the timer interrupt, each interrupt is allowed (S4). After permission of interruption, the output data updated in the previous reset interruption process by the special symbol variation process (S15), the display data creation process (S17), the lamp and the information processing (S18), etc. Port output processing for output to the port is executed (S5). After execution of the port output process, a random number update process (S6) described later is executed to update the value of the random number counter 13a by "+1", and a storage timer subtraction process is further executed (S7). In the storage timer subtraction process, when there are a predetermined number or more of holding balls for the jackpot determination and the variation display of the symbol is being performed on the LCD display 3, the variation display time of the symbol is shortened.
[0045]
In the switch reading process (S8), by reading the value of each switch, winnings on the winning opening 2 and the big winning opening 5 (including the V zone 5a) of the hitting ball hit into the game area 1 It is a process for detecting passing, and further winning balls and rental balls. The count abnormality monitoring process (S9) is a process for monitoring whether there is an abnormality in the switch data read by the switch reading process of S8. For example, despite the fact that the special winning opening 5 is opened and the hitting is detected by the V count switch that detects the passage of the hitting zone Va, the winning a prize in the special winning opening 5 other than the V zone 5a is detected 10 When the count switch can not detect a single hit ball, the 10 count switch is pulled out or breaks down, and some abnormality occurs in the 10 count switch. In addition, even though one winning balls are not paid out even though the motor for paying out the winning balls is driven, some sort of abnormality occurs in the winning ball dispensing device. As described above, in the count abnormality monitoring process (S9), the presence or absence of the above abnormality is monitored based on the switch data read by the switch reading process (S8).
[0046]
In the symbol counter updating process (S10), as a result of the variable display performed on the LCD display 3, a counter updating process is performed to determine the symbol to be stopped and displayed. Also, in the symbol check process (S11), based on the value of the counter updated in the symbol counter update process (S10), the jackpot symbol used in the special symbol variation process (S15), the off pattern, further reach symbol Etc are determined.
[0047]
In the processes from S3 to S11, if no error occurs (S12: normal), the variation display of the 7-segment LED is performed by the normal symbol variation processing (S13), and a hit is generated as a result of the variation display. In this case, a hit process is performed to open the motorized part (not shown) for a predetermined time. Thereafter, the status flag is checked (S14), and if the symbol display of the LCD display 3 is being displayed (S14: symbol change in progress), the timing at which the bat passes the symbol operation gate 4 by special symbol change processing (S15) Based on the value of the random number counter 13a read at step (c), it is determined whether or not a big hit is made, and variation processing of the display symbol of the LCD display 3 is executed. On the other hand, as a result of checking the status flag, if the jackpot is medium (S14: jackpot middle), a jackpot process (S16) such as opening the big winning opening 5 is executed. Furthermore, as a result of checking the status flag, if there is neither fluctuation nor jackpot of symbols (S14: other), the processing of S15 and S16 is skipped, and the process proceeds to display data creation processing of S17. When an error is confirmed in the process of S12 (S12: error), the process of S13 to S16 is skipped, and the process proceeds to the display data creation process of S17.
[0048]
In the display data creation process (S17), demo data to be displayed on the LCD display 3 and display data of the 7-segment LED are created in addition to the variable display of symbols, and in the lamp and information processing (S18) Various lamp data are created, including data. In the sound effect processing (S19), sound effect data according to the game situation is created. Note that these display data and sound effect data are output to each device by the above-described port output processing (S5) and timer interrupt processing.
[0049]
After the end of the sound effect processing (S19), the symbol counter update processing (S20), which is the same processing as S10, and the initial value counter update processing (S21), during the remaining time until the next reset interrupt processing occurs. And repeat. Since the execution time of each process of S1 to S19 changes according to the state of the game, the remaining time until the next reset interrupt process (the next user reset interrupt) occurs is not a fixed time, but the game It changes according to the state of. Therefore, a stop symbol can be changed at random by repeatedly executing the symbol counter update process (S20) using the remaining time. Also, by repeatedly executing the initial value counter updating process (S21) using such remaining time, the value of the initial value counter 13b, which is the initial value of updating of the random number counter 13a, can not be grasped by the "hanging board" can do.
[0050]
FIG. 6 is a flowchart of the random number update process. In the random number updating process (S6), the value of the random number counter 13a is updated by "+1" in the range of "0 to 630 (0 to 276 h)" via the internal register 11b of the CPU 11, and used by the control unit C. There are other random numbers being updated.
[0051]
First, the value of the random number counter 13a composed of 2 bytes is written to the 2-byte internal register 11b (S31). The value of the internal register 11b is incremented by 1 (S32), and it is checked whether the value of the internal register 11b after addition is "631" or more, that is, whether it exceeds the value of the update range of the random number counter 13a. (S33). If the value of the internal register 11b after the addition is "631" or more (S33: Yes), the value of the internal register 11b is cleared to "0" because the value of the update range is exceeded (S34). On the other hand, if the value of the internal register 11b after the addition is "630" or less (S33: No), since the value is within the update range, the process of S34 is skipped, and the process proceeds to the process of S35.
[0052]
In the process of S35, the value of the updated internal register 11b is compared with the value of the initial value memory 13c. Since the initial value of the update of the random number counter 13a is stored in the initial value memory 13c, when the two values are equal (S35: Yes), the update of the random number counter 13a is completed. Therefore, in such a case, the value of the 2-byte initial value counter 13b is written to the internal register 11b (S36), and the value of the internal register 11b is written to the initial value memory 13c and the random number counter 13a (S37, S38) The initial value of the update of the random number counter 13a is changed.
[0053]
On the other hand, if the value of the internal register 11b after update and the value of the initial value memory 13c are not equal (S35: No), the update of the random number counter 13a has not been completed by one round, so the processing of S36 and S37. Are skipped, the value of the internal register 11b updated in the process from S32 to S34 is written to the random number counter 13a (S38), and the random number counter 13a is updated. After that, update processing of other random numbers used by the control unit C is performed (S39), and the random number update processing is ended.
[0054]
FIG. 7 is a flowchart of an initial value counter updating process which is repeatedly executed during the remaining time of the reset interrupt process. In the initial value counter update process (S21), the value of the initial value counter 13b that counts the initial value of the update of the random number counter 13a via the internal register 11b of the CPU 11 Update by “+1” in the range of “0 to 276 h)”.
[0055]
First, the value of the initial value counter 13b composed of 2 bytes is written to the 2-byte internal register 11b (S41). The value of the internal register 11b is incremented by 1 (S42), and it is checked whether the value of the internal register 11b after addition is "631" or more, that is, whether it exceeds the value of the update range of the random number counter 13a. (S43). If the value of the internal register 11b after addition is "631" or more (S43: Yes), the value of the update range of the random number counter 13a is exceeded, so the value of the internal register 11b is cleared to "0" (S44) . On the other hand, if the value of the internal register 11b after the addition is "630" or less (S43: No), the value is within the update range of the random number counter 13a, so the process of S44 is skipped and the process proceeds to the process of S45. Do. In the process of S45, the updated value of the internal register 11b is written to the initial value counter 13b in the order of the upper byte and the lower byte according to the 2-byte write instruction of the 68-system CPU 11.
[0056]
As described above, the initial value counter updating process is repeatedly executed during the remaining time until the next reset interrupt occurs in the reset interrupt process (S21). Therefore, after the upper byte of the internal register 11b is written to the initial value counter 13b by the process of S45, 2 ms elapses before the lower byte is written, and the timing when the next user reset interrupt occurs is reached. May. The user reset interrupt is a non-maskable interrupt which has the highest priority and can not prohibit the start of interrupt processing. However, as described above, since the occurrence of the user reset interrupt is delayed by the timing circuit 40 until the timing of the first op code fetch after 2 ms, the user reset interrupt is performed while the CPU 11 is executing the write instruction. Does not occur and reset interrupt processing is not executed. Therefore, even if the value of the initial value counter 13b is repeatedly updated during the remaining time of the reset interrupt processing, the value of the initial value counter 13b is a value within the original update range “0 to 630 (0 to 276 h Can be maintained within the range of
[0057]
Next, with reference to FIGS. 8 and 9, the timing circuit 50 of the second embodiment will be described. The timing circuit 40 of the first embodiment is configured to generate a user reset interrupt using an opcode fetch signal (output of the LIR terminal). However, the timing circuit 50 of the second embodiment uses a read signal (R / The user reset interrupt is generated using the Hi output of the W bar terminal.
[0058]
Here, the read signal is a signal that is output when data stored in the memory such as the ROM 12 or the RAM 13 by the CPU 11 is read, and is output as a Hi signal from the R / W bar terminal. On the other hand, the write signal is a signal output when data is written to the memory such as the RAM 13 by the CPU 11, and is output from the R / W bar terminal as a low signal. Specifically, when the output of the E clock terminal is at the high level, the read signal and the write signal are valid. For this reason, in the present embodiment, the AND circuit 53 takes the AND logic of the output of the E clock terminal and the R / W bar terminal and inputs it to the CK terminal of the D flip flop 54 (see FIG. 8). ).
[0059]
Therefore, while the read signal is being output (while the Hi signal is being output from the AND circuit 53), data such as the ROM 12 and the RAM 13 are read by the CPU 11, and writing to the RAM 13 is not performed. . Therefore, even if the value of the initial value counter 13b is repeatedly updated during the remaining time of the reset interrupt processing by generating the user reset interrupt in synchronization with the read signal (S21 in FIG. 5), When the reset interrupt process of (1) occurs, the value of the initial value counter 13b is not rewritten, and the value is not set outside the original update range. The same parts as those in the first embodiment described above are designated by the same reference numerals and their description will be omitted. Only different parts will be described.
[0060]
The output terminal of the OR circuit 39 is connected to the input terminal of the inverter 51 of the timing circuit 50 and the D terminal of the D flip-flop 52 formed of HC 74. The timing circuit 50 is a circuit for generating a user reset interrupt while the read signal is output. In other words, the timing circuit 50 is also a circuit for inhibiting the occurrence of the user reset interrupt while the write signal is being output.
[0061]
As described above, the input end of the inverter 51 of the timing circuit 50 is connected to the output end of the OR circuit 39, and the output end of the inverter 51 is connected to the PR terminal of the D flip-flop 52. Since the CLR terminal of the D flip flop 52 is connected to Vcc, while Q is outputted from the OR circuit 39 from the Q terminal of the D flip flop 52 connected to the URES terminal of the CPU 11 (K), Hi is Output (Q), user reset interrupt does not occur.
[0062]
The R / W bar terminal of the CPU 11 is connected to one input end of the 2-input AND circuit 53, and the other input end of the AND circuit 53 is connected to the E clock terminal of the CPU 11. Further, the output terminal of the AND circuit 53 is connected to the CK terminal of the D flip flop 52. With the read signal output from the CPU 11 and the output of the R / W bar terminal becoming Hi, when the output of the E clock rises from Low to Hi (B), the AND circuit 53 to the CK terminal of the D flip flop 52 The rising signal from H to H is output (P).
[0063]
Here, when Low is output from the OR circuit 39 (K), Hi is input to the PR terminal of the D flip-flop 52 (L). Since Vcc is input to the CLR terminal, the input to the CK terminal of the D flip flop 52 is performed when the output of the E clock rises from low to high while the Hi is output from the R / W bar terminal (B) Rises from Low to Hi (P), and the Low output inputted to the D terminal at that time (K) is outputted from the Q terminal of the D flip-flop 52 to the URES terminal of the CPU 11 (Q). As a result, a user reset interrupt occurs at the timing when the read signal is output. Therefore, while the initial value counter 13b is being written, the execution of the next reset interrupt process is not started.
[0064]
As described above, the generation timing of the user reset interrupt is delayed until the timing when the output of the E clock terminal rises and the first read signal is output after the output of the OR circuit 39 becomes low. Even if configured as described above, the OR circuit 39 surely outputs the Low signal every 2 ms (K), so the delay will not be accumulated. Therefore, also in the second embodiment, the user reset interrupt can be generated every 2 ms, and the reset interrupt process can be executed every 2 ms.
[0065]
In each of the above embodiments, the non-maskable reset interrupt process (FIG. 5) corresponds to the interrupt process according to claim 1.
[0066]
As mentioned above, although the present invention was explained based on an example, the present invention is not limited to the above-mentioned example at all, It is easy to be able to various improvement modification within the range which does not deviate from the meaning of the present invention. It can be guessed.
[0067]
Below, the modification of this invention is shown. The control device for a game machine according to claim 1, further comprising: a CPU serving as a game control main body, wherein the prohibition means prohibits the new occurrence of the interruption process while the light signal is output from the CPU. A control device 1 for a game machine characterized by
[0068]
The control device for a game machine according to claim 1, further comprising: a CPU serving as a game control subject, wherein the prohibition means permits a new occurrence of the interruption process while the read signal is output from the CPU. A control device 2 for a game machine characterized in that. While the read signal is being output, the CPU reads the memory and the memory is not written. Therefore, at the time of execution of the write process in the interrupt process, it is possible to inhibit the new occurrence of the interrupt process.
[0069]
The control device of a gaming machine according to claim 1, further comprising: a CPU serving as a game control entity, wherein the prohibition means permits a new occurrence of the interrupt processing while the opcode fetch signal is output from the CPU. A control device 3 for a gaming machine characterized by: While the opcode fetch signal is output, the CPU reads the opcode and does not write to the memory. Therefore, at the time of execution of the write process in the interrupt process, it is possible to inhibit the new occurrence of the interrupt process.
[0070]
In the gaming machine control apparatus or gaming machine control apparatus 1 to 3 according to claim 1, the interrupt process is configured by non-maskable reset interrupt process or non-maskable user reset interrupt process. Control device 4 of the gaming machine.
[0071]
In the control apparatus for a game machine according to claim 1 or the control apparatus 1 to 4 for a game machine, a random number counter, a first update means for updating the value of the random number counter by the interruption process, and a predetermined trigger And a reading means for reading the value of the random number counter, and when the value of the random number counter read by the reading means matches one of the predetermined values, a predetermined game is made to the player under predetermined conditions. A value is added to the initial value memory for storing the initial value of the random number counter being updated, the initial value memory and the value written to the random number counter, and the initial value of the next update of the random number counter The initial value counter composed of at least 2 bytes to be counted and the value of the initial value counter are read and updated within the range of the update of the random number counter, and the value after the update A second updating means for writing in the initial value counter, and a repeating means for repeatedly executing the second updating means for the remaining time until the next interrupt processing occurs by the interrupt processing A control device 5 for a game machine characterized in that.
[0072]
In the control device 5 of the gaming machine, the value of the initial value counter is written to the random number counter and the initial value memory when the value of the random number counter matches the value of the initial value memory. Machine control device 6.
[0073]
EFFECT OF THE INVENTION The game machine of the present inventionToAccording to this, at the time of execution of the write processing in the remaining time of the interrupt processing, since the new occurrence of the interrupt processing is prohibited, the next interrupt processing does not occur during the writing of the data to the memory. Therefore, even if the value of the counter consisting of 2 bytes or more is repeatedly updated during the remaining time of the interrupt processing, the value of the counter can be maintained at the value within the original update range.
Brief Description of the Drawings
FIG. 1 is a front view of a game board of a pachinko gaming machine according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing an electrical configuration of the pachinko gaming machine.
FIG. 3 is a block diagram of a circuit for generating a user reset interrupt at 2 ms intervals.
4 is a timing chart of the circuit of FIG. 3;
FIG. 5 is a flowchart showing a reset interrupt process.
FIG. 6 is a flowchart showing random number update processing;
FIG. 7 is a flowchart showing an initial value counter updating process.
FIG. 8 is a block diagram of a circuit for generating a user reset interrupt at intervals of 2 ms in the second embodiment.
9 is a timing chart of the circuit of FIG. 8;
[Description of the code]
11 CPU of control unit
13 RAM of control unit
13a Random number counter
13b Initial value counter
13c Initial value memory
40, 50 Timing circuit (prohibition method)
C controlDepartment
P Pachinko machine (game machine)