JP2000225260A5 - - Google Patents

Download PDF

Info

Publication number
JP2000225260A5
JP2000225260A5 JP1999014910A JP1491099A JP2000225260A5 JP 2000225260 A5 JP2000225260 A5 JP 2000225260A5 JP 1999014910 A JP1999014910 A JP 1999014910A JP 1491099 A JP1491099 A JP 1491099A JP 2000225260 A5 JP2000225260 A5 JP 2000225260A5
Authority
JP
Japan
Prior art keywords
value
random number
byte
number counter
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1999014910A
Other languages
Japanese (ja)
Other versions
JP2000225260A (en
JP4281138B2 (en
Filing date
Publication date
Application filed filed Critical
Priority to JP01491099A priority Critical patent/JP4281138B2/en
Priority claimed from JP01491099A external-priority patent/JP4281138B2/en
Publication of JP2000225260A publication Critical patent/JP2000225260A/en
Publication of JP2000225260A5 publication Critical patent/JP2000225260A5/ja
Application granted granted Critical
Publication of JP4281138B2 publication Critical patent/JP4281138B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【書類名】 明細書
【発明の名称】 弾球遊技機
【特許請求の範囲】
【請求項1】 定期的に実行される割込処理と、少なくとも2バイトで構成された乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する第1更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与する弾球遊技機において、
1バイトで構成されたバイトカウンタと、
そのバイトカウンタの値を前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し更新する第2更新手段と、
更新中の前記乱数カウンタの初期値を記憶する現初期値メモリと、
前記バイトカウンタの値に基づいて、前記乱数カウンタおよび現初期値メモリの値を変更する変更手段とを備え、
前記現初期値メモリは1バイトで構成されると共に、
前記変更手段は、
その1バイトの現初期値メモリと2バイトの前記乱数カウンタとの一致の判断を、その乱数カウンタの上位バイトが所定値である場合に、その乱数カウンタの下位バイトの値と前記現初期値メモリの値とが一致するか否かにより行う比較手段と、
その比較手段により一致すると判断された場合に、1バイトの前記バイトカウンタの値を2バイトの前記乱数カウンタの下位バイトおよび1バイトの前記現初期値メモリへ書き込む書き込み手段とを備えていることを特徴とする弾球遊技機。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、パチンコ遊技機などに代表される弾球遊技機に関し、特に、「ぶら下げ基板」等による不正行為を防止することができる弾球遊技機に関するものである。
【0002】
【従来の技術】 この種のパチンコ遊技機は、複数種類の図柄を変動表示可能な表示装置を備えており、遊技領域に打ち込まれた打球が図柄作動ゲートを通過すると、変動表示を開始するように構成されている。この変動表示が予め定められた図柄の組み合わせと一致して停止すると、大当たりとなって、遊技者に所定の遊技価値が付与され、大量の遊技球が払出可能な状態となる。
【0003】
かかる大当たりの発生の有無は、打球が図柄作動ゲートを通過するタイミングで決定される。即ち、1カウントずつ定期的に一定の範囲で(例えば、1カウントずつ、2ms毎に、0から630の範囲で)更新されるカウンタを備え、打球が図柄作動ゲートを通過したときに、そのカウンタの値を読み出して、読み出されたカウンタの値が、例えば「7」などの所定値と一致する場合に、大当たりを発生するようにしている。大当たりが発生すると、制御基板のコネクタに接続されたケーブルを介して、大当たりコマンドが表示装置の表示用基板へ送信される。表示装置では、受信された大当たりコマンドに基づいて、変動表示を制御し、所定の図柄の組み合わせで停止する大当たり表示を現出させるのである。
【0004】
【発明が解決しようとする課題】 ところが、最近、「ぶら下げ基板」と呼ばれる不正な基板を使用した不正行為が報告されている。この不正行為は、制御基板と表示装置の表示用基板との間に、不正な基板をぶら下げて(不正な「ぶら下げ基板」を取り付けて)、不当に大当たりを発生させるというものである。具体的には、前記したパチンコ遊技機に設けられる大当たりを決定するためのカウンタと同様の働きをするカウンタ(1カウントずつ定期的に一定の範囲で更新されるカウンタ)を「ぶら下げ基板」内に設け、そのカウンタの値をパチンコ遊技機の電源投入に合わせてリセット(0クリア)することにより、「ぶら下げ基板」内で大当たりの発生タイミングを把握するのである。そして、その把握した大当たりの発生タイミングに合わせて、「ぶら下げ基板」内で打球の図柄作動ゲート通過信号を不正に生成し、これをパチンコ遊技機の制御基板へ出力して、不当に大当たりを発生させるというものである。遊技場などでは、この「ぶら下げ基板」を用いた不正行為により、多大な被害を被っているという問題点があった。
【0005】
本発明は上述した問題点を解決するためになされたものであり、大当たりの発生タイミングの把握を不可能にして、「ぶら下げ基板」等を用いた不正行為を防止することができる弾球遊技機を提供することを目的としている。
【0006】
【課題を解決するための手段】 この目的を達成するために請求項1記載の弾球遊技機は、定期的に実行される割込処理と、少なくとも2バイトで構成された乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する第1更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与するものであり、1バイトで構成されたバイトカウンタと、そのバイトカウンタの値を前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し更新する第2更新手段と、更新中の前記乱数カウンタの初期値を記憶する現初期値メモリと、前記バイトカウンタの値に基づいて、前記乱数カウンタおよび現初期値メモリの値を変更する変更手段とを備え、前記現初期値メモリは1バイトで構成されると共に、前記変更手段は、その1バイトの現初期値メモリと2バイトの前記乱数カウンタとの一致の判断を、その乱数カウンタの上位バイトが所定値である場合に、その乱数カウンタの下位バイトの値と前記現初期値メモリの値とが一致するか否かにより行う比較手段と、その比較手段により一致すると判断された場合に、1バイトの前記バイトカウンタの値を2バイトの前記乱数カウンタの下位バイトおよび1バイトの前記現初期値メモリへ書き込む書き込み手段とを備えている。
【0007】
この請求項1記載の弾球遊技機によれば、定期的に実行される割込処理において、乱数カウンタの値は、第1更新手段により更新されると共に、所定の契機により読出手段によって読み出される。読み出された乱数カウンタの値が予め定められた値の1つと一致すると、大当たりとなって、遊技者に所定条件下で所定の遊技価値が付与される。
【0008】
また、変更手段によって、乱数カウンタおよび現初期値メモリの値がバイトカウンタの値に基づいて変更される。即ち、乱数カウンタの更新の初期値がバイトカウンタの値に基づいて変更される。このように、乱数カウンタの更新の初期値は、固定値ではなく、定期的に変更される値であるので、弾球遊技機の電源投入に合わせて、「ぶら下げ基板」等がその内部の不正なカウンタをリセットしても、その不正なカウンタの値を乱数カウンタの値と一致させることはできない。従って、「ぶら下げ基板」等が大当たりの発生タイミングを把握することを防止することができるのである。
【0009】
しかも、バイトカウンタの値は、第2更新手段によって、次回の割込処理が発生するまでの残余時間の間に繰り返し更新される。割込処理の残余時間の長さは、遊技の状態に応じて変化するので、「ぶら下げ基板」等で把握することはできない。よって、かかる残余時間の間に繰り返し更新されるバイトカウンタの値に基づいて乱数カウンタの更新の初期値を変更することにより、「ぶら下げ基板」等による乱数カウンタの値の把握を一層効果的に防止することができる。
【0010】
ところで、バイトカウンタの値を繰り返し更新する割込処理が命令の途中で実行される場合がある。よって、バイトカウンタを2バイト以上で構成すると、割込処理の発生タイミングによっては更新後のバイトカウンタの値が乱数カウンタの更新の範囲外の値になることがある。バイトカウンタの更新は、その値が一旦CPU(内部レジスタまたはALU)へ読み込まれ、CPU内で更新され、更新後の値がバイトカウンタへ書き込まれることにより行われる。よって、バイトカウンタが2バイト以上で構成されると、更新後の値は1バイトずつバイトカウンタへ書き込まれるので、更新後の一部のバイトの書き込み後であって全バイトの書き込み前に次の割込が発生すると、書き込み途中の値が更新後のバイトカウンタの値となり、乱数カウンタの更新の範囲外の値になってしまうことがある。
【0011】
乱数カウンタの更新の初期値はバイトカウンタの値に基づいて変更されるので、例えば、バイトカウンタの値を乱数カウンタへ書き込んで乱数カウンタの更新の初期値を変更する場合、バイトカウンタの値が乱数カウンタの更新の範囲外の値となると、乱数カウンタの値は本来更新されるべき範囲外の値となって、所定の不具合が生じる。例えば、大当たりの発生確率が予定していた確率と異なったものになったり、乱数カウンタの更新の初期値が以降は変更されなくなるのである。しかし、バイトカウンタは1バイトで構成されるので、割込処理がいかなるタイミングで発生しても、書き込み途中の値が更新後のバイトカウンタの値となることはなく、上記した不具合を回避することができる。
【0012】
【発明の実施の形態】 以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、弾球遊技機の一例としてパチンコ遊技機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や他の弾球遊技機に用いることは、当然に可能である。
【0013】
図1は、第1実施例のパチンコ遊技機Pの遊技盤の正面図である。遊技盤1の周囲には、打球が入賞することにより5個から15個の遊技球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶(LCD)ディスプレイ3が設けられている。このLCDディスプレイ3の表示画面は横方向に3分割されており、3分割された各表示領域において、それぞれ図柄の変動表示が行われる。
【0014】
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ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値の付与された状態(特別遊技状態)である。
【0015】
図2は、かかるパチンコ遊技機Pの電気的構成を示したブロック図である。パチンコ遊技機Pの制御部Cは、演算装置であるCPU11と、そのCPU11により実行される各種の制御プログラムや固定値データを記憶したROM12と、各種のデータ等を一時的に記憶するためのメモリであるRAM13とを備えている。図3から図5に示すフローチャートのプログラムは、制御プログラムの一部としてROM12内に記憶されている。
【0016】
CPU11は、演算を行うALUのほか、アキュームレータ(以下「Acc」と称す)11aや複数の内部レジスタ11b、フラグレジスタ11cを備えている。RAM13内に設けられるカウンタ等の値は、一旦、CPU11の内部レジスタ11bへロードされ(書き込まれ)、その内部レジスタ11b内で更新された後に、RAM13の元のカウンタ内へセイブされて(書き込まれて)、更新される。
【0017】
なお、68系の8ビットCPU11では、ペアになっている2バイト(16ビット)の内部レジスタ11bの値を、連続したアドレスの2バイトのメモリ(RAM13内)へ1命令でセイブする(書き込む)ことができる。この場合の書き込みは、バスライン14のデータバスは8ビットで構成されるので、上位バイト、下位バイトの順に行われる。また、80系の8ビットCPUでは、68系のCPU11とは逆に、ペアになっている2バイト(16ビット)の内部レジスタの値を、連続したアドレスの2バイトのメモリへ、下位バイト上位バイトの順に1命令でセイブすることができる。
【0018】
RAM13は、乱数カウンタ13aと、現初期値メモリ13bと、次初期値メモリ13cと、バイトカウンタ13dとを備えている。乱数カウンタ13aは、大当たりの発生を決定するためのカウンタであり、図5の乱数更新処理(S7)によって、「0〜630(0〜276h)」の範囲で、2ms毎に1カウントずつ更新される。このため乱数カウンタ13aは2バイトで構成されている。打球が図柄作動ゲート4を通過したときに取得した乱数カウンタ13aの値が例えば「7」であると、大当たりが発生する。大当たりが発生すると、大当たりコマンドが制御部Cから後述する表示装置Dへ送られる。表示装置Dは、この大当たりコマンドに基づいて、LCDディスプレイ3の変動表示を大当たりの状態に制御する。
【0019】
現初期値メモリ13bは、乱数カウンタ13aの更新中の初期値を記憶するためのメモリであり、次初期値メモリ13cは、乱数カウンタ13aの次回の更新の初期値を記憶するためのメモリである。現初期値メモリ13b及び次初期値メモリ13cは、いずれも乱数カウンタ13aと同様に2バイトで構成されており、いずれも乱数カウンタ13aの更新範囲と同じ「0〜630(0〜276h)」の範囲内で更新される。本実施例では、乱数カウンタ13aの更新の初期値は、乱数カウンタ13aの一回りの更新毎に変更される。よって、更新された乱数カウンタ13aの値が現初期値メモリ13bの値と一致すると、乱数カウンタ13aの一回りの更新が終了したことになるので、両値13a,13bの一致を契機として、そのときの次初期値メモリ13cの値が乱数カウンタ13aおよび現初期値メモリ13bに書き込まれ、乱数カウンタ13aの更新の初期値が変更される。従って、乱数カウンタ13aの更新の初期値を変更しても、乱数の一様性(連続で取得した場合に同じ値を取ることがなく、しかも、すべての値が同じ確率で取り出せること)のある乱数値を得ることができるのである。
【0020】
バイトカウンタ13dは、次初期値メモリ13cの値を更新するためのカウンタであり、1バイトで構成されている。バイトカウンタ13dの値は、リセット割込処理のS1からS20の処理の終了後、次のリセット割込が発生するまでの残余時間の間に「0〜255(0〜0FFh)」の範囲内で繰り返し「1」ずつ加算され(インクリメントされ)更新される。更新されたバイトカウンタ13dの値は、乱数更新処理(S7)の前に実行される次初期値メモリ更新処理(S6)において、次初期値メモリ13cの値に加算されて、次初期値メモリ13cの値を更新する。
【0021】
リセット割込処理は2ms毎に実行されるが、S1からS20の各処理の処理時間は最大の場合でも2ms以内に終了するようにプログラムされており、必ず、残余時間が生じるようにされている。1回のリセット割込処理において実行されるS1からS20の各処理の処理時間は遊技の状況に応じて変化するので、リセット割込処理の残余時間は、一定な時間ではなく、遊技の状況に応じて変化する不定な時間となる。「ぶら下げ基板」ではこの不定な時間を把握することはできないので、かかる不定な時間内に繰り返し更新されるバイトカウンタ13dの値に基づいて次初期値メモリ13cの値を更新し、その次初期値メモリ13cの値を乱数カウンタ13aの更新の初期値として使用することにより、「ぶら下げ基板」による大当たり発生のタイミングの把握を不可能にしている。
【0022】
なお、バイトカウンタ13dの値の更新は、その値が一旦CPU11内へ読み込まれ、CPU11内で更新された後にバイトカウンタ13dへ書き込まれて更新される。一方、リセット割込は、割込の発生を禁止することができないノンマスカブルな割込であると共に、割込の優先順位が最も高く、CPU11の命令の実行途中であっても強制的に開始される割込である。よって、バイトカウンタ13dの更新中のいかなるタイミングで次のリセット割込が発生しても不具合が生じないように、バイトカウンタ13dを1バイトで構成している。1バイトのデータ書き込みは一度に行われるので、バイトカウンタ13dを1バイトで構成することにより、バイトカウンタ13dの値が書き込み途中の値になってしまうことを防止できるからである。
【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】
次に、上記のように構成されたパチンコ遊技機Pで実行される各処理を、図3から図5のフローチャートを参照して説明する。図3は、パチンコ遊技機Pの制御部Cにおいて、2ms毎に実行されるリセット割込処理のフローチャートである。パチンコ遊技機Pの主な制御は、このリセット割込処理によって実行される。
【0027】
リセット割込処理では、まず、スタックポインタを設定し(S1)、RAM13の所定エリアに書き込まれているパターンのチェックを行う(S2)。チェックの結果、所定エリアに所定のパターンが書き込まれていれば、RAM13に異常はなく正常であるので(S2:正常)、処理をS3へ移行する。一方、S2のチェックの結果、所定エリアに所定のパターンが書き込まれていなければ、電源投入後最初に実行されたリセット割込処理であるか、或いは、RAM13に異常があるので(S2:異常)、この場合には処理をS23へ移行して、一旦、RAM13の内容をクリアした後、RAM13内へ初期値を書き込んで(S23)、次のリセット割込処理の発生を待機する。
【0028】
S3の処理ではタイマ割込の設定を行う(S3)。ここで設定されるタイマ割込としては、LCDディスプレイ3の表示を制御するコマンドを表示装置Dへ送信するためのストローブ信号を発生させるタイマ割込などがある。タイマ割込の設定後は、各割込を許可状態とする(S4)。割込の許可後は、特別図柄変動処理(S16)や、表示データ作成処理(S18)、ランプ・情報処理(S19)などにより、前回のリセット割込処理において更新された出力データを一度に各ポートへ出力するポート出力処理を実行する(S5)。その後、後述する次初期値メモリ更新処理(S6)を実行して、次初期値メモリ13cの値を更新すると共に、乱数更新処理(S7)を実行して、乱数カウンタ13aの値を「+1」更新し、更に、記憶タイマ減算処理を実行する(S8)。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、LCDディスプレイ3において図柄の変動表示中である場合に、図柄の変動表示時間の短縮を行うものである。
【0029】
スイッチ読込処理(S9)は、各スイッチの値を読み込むことにより、遊技領域1へ打ち込まれた打球の入賞口2や大入賞口5(Vゾーン5aを含む)への入賞、図柄作動ゲート4の通過、更には賞球や貸球を検出するための処理である。カウント異常監視処理(S10)は、S9のスイッチ読込処理によって読み込まれたスイッチデータに異常があるか否かを監視するための処理である。例えば、大入賞口5が開放され、打球のVゾーン5aの通過を検出するVカウントスイッチで打球が検出されたにも拘わらず、Vゾーン5a以外の大入賞口5への入賞を検出する10カウントスイッチで1球の打球も検出できない場合には、10カウントスイッチが抜き取られるなどして、10カウントスイッチに何らかの異常が発生している。また、賞球を払い出すモータを駆動したにも拘わらず、1球の賞球も払い出されない場合には、賞球の払出装置に何らかの異常が発生している。このようにカウント異常監視処理(S10)では、スイッチ読込処理(S9)によって読み込まれたスイッチデータに基づいて、上記のような異常の有無を監視している。
【0030】
図柄カウンタ更新処理(S11)では、LCDディスプレイ3で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理(S12)では、図柄カウンタ更新処理(S11)で更新されたカウンタの値に基づいて、特別図柄変動処理(S16)で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。
【0031】
S3からS12までの処理において、エラーが発生していなければ(S13:正常)、普通図柄変動処理(S14)によって、7セグメントLEDの変動表示を行うと共に、その変動表示の結果、当たりが発生した場合には普通電動役物(図示せず)を所定時間開放する当たり処理を実行する。その後、状態フラグをチェックし(S15)、LCDディスプレイ3の図柄の変動表示中であれば(S15:図柄変動中)、特別図柄変動処理(S16)によって、打球が図柄作動ゲート4を通過するタイミングで読みとられた乱数カウンタ13aの値に基づいて、大当たりか否かの判定が行われると共に、LCDディスプレイ3の表示図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば(S15:大当り中)、大入賞口5を開放するなどの大当たり処理(S17)を実行する。更に、状態フラグをチェックした結果、図柄の変動中でも大当たり中でもなければ(S15:その他)、S16及びS17の処理をスキップして、S18の表示データ作成処理へ移行する。なお、S13の処理において、エラーが確認された場合には(S13:エラー)、S14〜S17の各処理をスキップして、S18の表示データ作成処理へ移行する。
【0032】
表示データ作成処理(S18)では、図柄の変動表示以外にLCDディスプレイ3に表示されるデモデータや、7セグメントLEDの表示データなどが作成され、ランプ・情報処理(S19)では、保留球のランプデータをはじめ、各種のランプデータが作成される。効果音処理(S20)では、遊技の状況に応じた効果音データが作成される。なお、これらの表示データおよび効果音データは、前記したポート出力処理(S5)やタイマ割込処理によって各装置へ出力される。
【0033】
効果音処理(S20)の終了後は、次のリセット割込処理が発生するまでの残余時間の間、S11と同一の処理である図柄カウンタ更新処理(S21)と、バイトカウンタ13dの「+1」加算であるインクリメント処理(S22)とを繰り返し実行する。S1〜S20の各処理の実行時間は遊技の状態に応じて変化するので、次のリセット割込処理が発生するまでの残余時間は、一定の時間ではなく、遊技の状態に応じて変化する。よって、かかる残余時間を使用して図柄カウンタ更新処理(S21)を繰り返し実行することにより、停止図柄をランダムに変更することができる。
【0034】
また、かかる残余時間を使用してバイトカウンタ13dの値を繰り返し更新することにより、バイトカウンタ13dの値を「ぶら下げ基板」により把握不可能とすることができる。バイトカウンタ13dの値は、次初期値メモリ更新処理(S6)において、次初期値メモリ13cの値に加算され、次初期値メモリ13cの値を更新するものである。次初期値メモリ13cの値は、乱数カウンタ13aの次回の更新の初期値となる値であるので、バイトカウンタ13dの値を「ぶら下げ基板」により把握不可能とすることにより、大当たりの発生タイミングを「ぶら下げ基板」で把握できなくして、「ぶら下げ基板」による不正行為を防止することができるのである。
【0035】
図4は、次初期値メモリ更新処理のフローチャートである。次初期値メモリ更新処理(S6)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの更新の初期値を記憶する次初期値メモリ13cの値を、バイトカウンタ13dの値に基づいて乱数カウンタ13aの更新範囲の「0〜630(0〜276h)」の範囲内で更新する。
【0036】
まず、2バイトで構成される次初期値メモリ13cの値を2バイトの内部レジスタ11bへ書き込む(S41)。次に、1バイトのバイトカウンタ13dの値を内部レジスタ11bへ加算し(S42)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S43)。
【0037】
加算後の内部レジスタ11bの値が「631」以上であれば(S43:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、その値を次回の乱数カウンタ13aの初期値として、次初期値メモリ13cに書き込むことはできない。よって、内部レジスタ11bの値から乱数カウンタ13aの更新範囲の最大値+1である「631(277h)」を減算し(S44)、内部レジスタ11bの値を「0〜630(0〜276h)」の範囲内の値とする。
【0038】
一方、加算後の内部レジスタ11bの値が「630」以下であれば(S43:No)、乱数カウンタ13aの更新範囲内の値であるので、S44の処理をスキップして、S45の処理へ移行する。S45の処理では、68系CPU11の2バイト書き込み命令によって、2バイトの内部レジスタ11bの値を、上位バイト、下位バイトの順に次初期値メモリ13cへ書き込み(S45)、次初期値メモリ13cの更新を終了する。
【0039】
図5は、乱数更新処理のフローチャートである。乱数更新処理(S7)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの値を「0〜630(0〜276h)」の範囲内で「+1」ずつ更新すると共に、制御部Cで使用される他の乱数の更新を行っている。
【0040】
まず、2バイトで構成される乱数カウンタ13aの値を2バイトの内部レジスタ11bへ書き込む(S51)。内部レジスタ11bの値を1加算し(S52)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S53)。加算後の内部レジスタ11bの値が「631」以上であれば(S53:Yes)、更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S54)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S53:No)、更新範囲内の値であるので、S54の処理をスキップして、S55の処理へ移行する。
【0041】
S55の処理では、更新後の内部レジスタ11bの値と現初期値メモリ13bの値とが比較される。現初期値メモリ13bには現在更新中の乱数カウンタ13aの更新の初期値が記憶されているので、両値が等しい場合には(S55:Yes)、乱数カウンタ13aの更新は一回り終了したということである。よって、かかる場合には、乱数カウンタ13aの次回の更新の初期値を記憶する次初期値メモリ13cの値を内部レジスタ11bへ書き込み(S56)、その内部レジスタ11bの値を現初期値メモリ13b及び乱数カウンタ13aへ書き込んで(S57,S58)、乱数カウンタ13aの更新の初期値を変更する。
【0042】
一方、更新後の内部レジスタ11bの値と現初期値メモリ13bの値とが等しくない場合には(S55:No)、乱数カウンタ13aの更新は未だ一回り終了していないので、S56及びS57の処理をスキップして、S52からS54の処理で更新された内部レジスタ11bの値を乱数カウンタ13aへ書き込み(S58)、乱数カウンタ13aの更新を行う。その後は、制御部Cで使用される他の乱数の更新処理を行って(S59)、この乱数更新処理を終了する。
【0043】
以上、図3から図5のフローチャートに基づいて説明したように、大当たりの判定に用いられる乱数カウンタ13aは一回りの更新毎に更新の初期値が変更されるが、その更新の初期値は、次初期値メモリ13cの値にバイトカウンタ13dの値を加算して算出される。バイトカウンタ13dは、遊技の状態に応じて変化するリセット割込処理の残余時間の間に繰り返し更新されるので、その値を「ぶら下げ基板」で把握することはできない。よって、乱数カウンタ13aの値は一回りの更新毎に「ぶら下げ基板」で把握できない値から更新されるので、「ぶら下げ基板」による大当たりの発生タイミングの把握を不可能にして、「ぶら下げ基板」による不正行為を防止することができるのである。
【0044】
また、リセット割込は割込優先順位の最も高いノンマスカブルな割込であり、命令の実行途中であっても開始される割込であるが、バイトカウンタ13dを1バイトで構成しているので、バイトカウンタ13dの更新中のいかなるタイミングで次のリセット割込が発生しても不具合が生じることはない。1バイトのデータ書き込みは一度に行われるので、バイトカウンタ13dの値が書き込み途中の値になることはないからである。
【0045】
次に、図6及び図7を参照して第2実施例について説明する。図6は、第2実施例のリセット割込処理のフローチャートであり、図7は、第2実施例の乱数更新処理のフローチャートである。第2実施例では、次初期値メモリ13cを用いずに、乱数カウンタ13aの値と現初期値メモリ13bの値とが一致する場合に、現在の乱数カウンタ13aの更新の初期値にバイトカウンタ13dの値を加算して、次回の乱数カウンタ13aの更新の初期値を算出している。なお、前記した第1実施例と同一の部分には同一の符号を付し、その説明は省略する。
【0046】
図6のリセット割込処理では、図3の第1実施例のリセット割込処理における次初期値メモリ更新処理(S6)を削除して、乱数更新処理(S7)を図7の乱数更新処理(S70)に変更している。他の処理(S1〜S5及びS8〜S23)は、図3のリセット割込処理と同一であるので、その説明は省略する。
【0047】
図7の乱数更新処理(S70)では、まず、まず、2バイトで構成される乱数カウンタ13aの値を2バイトの内部レジスタ11bへ書き込み(S71)、内部レジスタ11bの値を1加算して(S72)、乱数カウンタ13aの値を更新する。加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べ(S73)、「631」以上であれば(S73:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S74)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S73:No)、乱数カウンタ13aの更新範囲内の値であるので、S74の処理をスキップして、S75の処理へ移行する。
【0048】
S75の処理では、更新後の内部レジスタ11bの値と現初期値メモリ13bの値とが比較される。現初期値メモリ13bには現在更新中の乱数カウンタ13aの更新の初期値が記憶されているので、両値が等しい場合には(S75:Yes)、乱数カウンタ13aの更新は一回り終了したということである。よって、かかる場合には、乱数カウンタ13aの次回の更新の初期値を算出するために、1バイトのバイトカウンタ13dの値を内部レジスタ11bへ加算する(S76)。加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べ(S77)、「631」以上であれば(S77:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、加算後の内部レジスタ11bの値から乱数カウンタ13aの更新範囲の最大値+1である「631」を減算して(S78)、内部レジスタ11bの値を乱数カウンタ13aの更新範囲内の値とする。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S77:No)、乱数カウンタ13aの更新範囲内の値であるので、S78の処理をスキップして、S79の処理へ移行する。
【0049】
S79の処理では、内部レジスタ11bには、S76からS78の処理で算出された次回の乱数カウンタ13aの更新の初期値が記憶されているので、その内部レジスタ11bの値を現初期値メモリ13b及び乱数カウンタ13aへ書き込んで(S79,S80)、乱数カウンタ13aの更新の初期値を変更する。
【0050】
一方、S72からS74の処理で更新された内部レジスタ11bの値と現初期値メモリ13bの値とが等しくない場合には(S75:No)、乱数カウンタ13aの更新は未だ一回り終了していないので、S76からS79の処理をスキップし、S72からS74の処理で更新された内部レジスタ11bの値を乱数カウンタ13aへ書き込み(S80)、乱数カウンタ13aの更新を行う。その後は、制御部Cで使用される他の乱数の更新処理を行って(S81)、この乱数更新処理を終了する。
【0051】
このように、次初期値メモリ13cを用いずに、バイトカウンタ13dの値を直接使用して、乱数カウンタ13aの更新の初期値を変更することもできる。
【0052】
次に、図8を参照して第3実施例について説明する。第3実施例では、次初期値メモリ13cを用いないばかりか、現初期値メモリ13eを1バイトで構成している。即ち、乱数カウンタ13aの上位バイトが所定値(第3実施例では「0」)であって、且つ、乱数カウンタ13aの下位バイトが1バイトの現初期値メモリ13eの値と一致する場合に、バイトカウンタ13dの値を乱数カウンタ13aの下位バイトおよび1バイトの現初期値メモリ13eへ書き込んで、乱数カウンタ13aの更新の初期値を変更している。これにより第3実施例では、乱数カウンタ13aの更新の初期値は「000h〜0FFh」の範囲内で変更される。なお、前記した第2実施例と同一の部分には同一の符号を付し、その説明は省略する。また、第3実施例のリセット割込処理は、図6の第2実施例のリセット割込処理が使用される。
【0053】
図8の乱数更新処理(S70)では、まず、まず、2バイトで構成される乱数カウンタ13aの値を2バイトの内部レジスタ11bへ書き込み(S91)、内部レジスタ11bの値を1加算して(S92)、乱数カウンタ13aの値を更新する。加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べ(S93)、「631」以上であれば(S93:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S94)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S93:No)、乱数カウンタ13aの更新範囲内の値であるので、S94の処理をスキップして、S95の処理へ移行する。
【0054】
S95の処理では、更新後の内部レジスタ11bの上位バイトの値が「0」であるか否かを調べ(S95)、「0」であれば(S95:Yes)、更に、内部レジスタ11bの下位バイトの値と1バイトの現初期値メモリ13eの値とを比較する(S96)。現初期値メモリ13eには現在更新中の乱数カウンタ13aの更新の初期値の下位バイトが記憶されているので、両値が等しい場合には(S96:Yes)、乱数カウンタ13aの更新は一回り終了したということである。よって、かかる場合には、乱数カウンタ13aの更新の初期値を変更するために、1バイトのバイトカウンタ13dの値を2バイトの内部レジスタ11bの下位バイトへ書き込み(S97)、内部レジスタ11bの値を乱数カウンタ13aの次回の更新の初期値に変更する。この内部レジスタ11bの下位バイトの値を1バイトの現初期値メモリ13eへ書き込んで(S98)、現初期値メモリ13eの値を更新し、更に、内部レジスタ11bの上位バイト及び下位バイトの値を2バイトの乱数カウンタ13aへ書き込んで(S99)、乱数カウンタ13aの更新の初期値を変更する。
【0055】
一方、S95の処理において、S92からS94の処理で更新された内部レジスタ11bの上位バイトの値が「0」でない場合や(S95:No)、更新後の内部レジスタ11bの上位バイトの値が「0」であっても(S95:Yes)、内部レジスタ11bの下位バイトの値と1バイトの現初期値メモリ13eの値とが等しくない場合には(S96:No)、乱数カウンタ13aの更新は未だ一回り終了していない。よって、この場合には、S97及びS98の処理をスキップし、S92からS94の処理で更新された内部レジスタ11bの値を乱数カウンタ13aへ書き込み(S99)、乱数カウンタ13aの更新を行う。
【0056】
S99の処理の終了後は、制御部Cで使用される他の乱数の更新処理を行って(S100)、この乱数更新処理を終了する。このように、次初期値メモリ13cを用いず、現初期値メモリ13eを1バイトで構成し、且つ、バイトカウンタ13dの値を直接使用して、乱数カウンタ13aの更新の初期値を変更することもできる。この場合、2バイトの乱数カウンタ13aの値と1バイトの現初期値メモリ13eの値との一致の比較は、乱数カウンタ13aの上位バイトが所定値である時に(第3実施例では「0」)、乱数カウンタ13aの下位バイトと現初期値メモリ13eの値とが一致するか否かにより行われる。
【0057】
なお、S95の処理では、S92からS94の処理で更新された内部レジスタ11bの上位バイトの値が「0」と比較されるので、乱数カウンタ13aの更新の初期値は「000h〜0FFh」の範囲内で変更される。よって、S95の処理で、更新後の内部レジスタ11bの上位バイトの値が「1」と比較される場合には、乱数カウンタ13aの更新の初期値は「100h〜1FFh」の範囲で変更される。また、「2」と比較される場合には、乱数カウンタ13aの更新の初期値は「200h〜276h」の範囲で変更されるが、この場合には、S97の処理で内部レジスタ11bの下位バイトへ書き込まれるバイトカウンタ13dの値が「77h〜0FFh」であれば、その値を「00h〜76h」の範囲内に補正する処理が必要となる。
【0058】
次に、図9を参照して第4実施例について説明する。図9は、第4実施例のリセット割込処理のフローチャートである。第4実施例では、バイトカウンタ13dの値を「0」クリアした後に、リセット割込処理の残余時間を使用して、そのバイトカウンタ13dの値を繰り返し更新するものである。なお、前記した第1実施例と同一の部分には同一の符号を付し、その説明は省略する。
【0059】
図9に示すように、効果音処理(S20)の終了後、バイトカウンタ13dの値を「0」クリアし(S101)、次のリセット割込処理が発生するまでの残余時間の間、図柄カウンタ更新処理(S21)と、バイトカウンタ13dの「+1」加算であるインクリメント処理(S22)とを繰り返し実行する。
【0060】
1回のリセット割込処理の残余時間の間にS22の処理によってバイトカウンタ13dの値が一回り以上更新されない限りにおいて、上記のようにS22の処理の前にバイトカウンタ13dの値を「0」クリアすることによって、次初期値メモリ13cの値をリセット割込処理の残余時間の間に繰り返し更新することと同様の効果を得ることができる。即ち、第4実施例の構成によれば、次初期値メモリ13cの値を連続的に更新することができるのである。
【0061】
なお、S101の処理に代えて、図4の次初期値メモリ更新処理(S6)においてバイトカウンタ13dの値を「0」クリアするようにしても良い。具体的には、S45の処理の実行後に、バイトカウンタ13dの値を「0」クリアすれば良い。
【0062】
また、第2及び3実施例の図6のリセット割込処理においても、図9のリセット割込処理と同様に、S20の効果音処理の直後であってS21及びS22の繰り返し処理の前に、S101の処理に相当するバイトカウンタ13dの「0」クリア処理を追加したり、或いは、図7の乱数更新処理におけるS80の処理の直後、又は、図8の乱数更新処理におけるS99の処理の直後に、S101の処理に相当するバイトカウンタ13dの「0」クリア処理を追加するようにしても良い。
【0063】
上記各実施例において、請求項1記載の割込処理としてはノンマスカブルなリセット割込処理が該当し、第1更新手段としては、図5の乱数更新処理(S7)のS51からS54及びS58の処理、図7の乱数更新処理(S70)のS71からS74及びS80の処理、図8の乱数更新処理(S70)のS91からS94及びS99の処理がそれぞれ該当する。また、第2更新手段としては図3及び図6のS22の処理が該当し、変更手段としては、図5の乱数更新処理(S7)のS55からS58の処理、図7の乱数更新処理(S70)のS75からS80の処理、図8の乱数更新処理(S70)のS95からS99の処理がそれぞれ該当する。
【0064】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0065】
例えば、上記各実施例では、バイトカウンタ13dの値の更新は、インクリメントにより加算方向に行われたが、必ずしもこれに限らず、デクリメントなどによって減算方向に行うようにしても良い。また、第1実施例における次初期値メモリ13cの値の更新や(S42〜S44)、第2実施例における現初期値メモリ13bの値の更新(S76〜S79)は、バイトカウンタ13dの値を加算することにより行われたが、これらをバイトカウンタ13dの値を減算することにより行うようにしても良い。
【0066】
また、上記各実施例において、バイトカウンタ13dはいずれも1バイト(8ビット)で構成されたが、バイトカウンタ13dのサイズは必ずしも8ビットに固定されるものではない。例えば、CPUが16ビットのデータを一度に更新可能であればバイトカウンタを16ビットで構成しても良いし、CPUが32ビットのデータを一度に更新可能であればバイトカウンタを32ビットで構成しても良い。即ち、バイトカウンタのサイズは、CPUが一度に更新可能な最大ビット数の範囲内で設定することができる。
【0067】
以下に本発明の変形例を示す。請求項1記載の弾球遊技機において、前記変更手段は、前記乱数カウンタの次回の更新の初期値を記憶する少なくとも2バイトで構成された次初期値メモリと、その次初期値メモリの値を前記バイトカウンタの値に基づいて更新する第3更新手段と、前記現初期値メモリの値と前記乱数カウンタの値とが一致する場合に、前記第3更新手段によって更新された次初期値メモリの値を前記乱数カウンタおよび現初期値メモリに書き込む書込手段とを備えていることを特徴とする弾球遊技機1。
【0068】
弾球遊技機1において、前記第3更新手段は前記第2更新手段の実行前に実行されることを特徴とする弾球遊技機2。
【0069】
請求項1記載の弾球遊技機において、前記変更手段は前記バイトカウンタの値を前記乱数カウンタおよび現初期値メモリの値に加算または減算することによりそれらの値を変更することを特徴とする弾球遊技機3。
【0070】
請求項1記載の弾球遊技機において、前記現初期値メモリは2バイトで構成されると共に、前記変更手段は1バイトの前記バイトカウンタの値を前記乱数カウンタおよび現初期値メモリの下位バイトに書き込んでそれらの値を変更することを特徴とする弾球遊技機4。
【0071】
請求項1記載の弾球遊技機において、前記現初期値メモリは1バイトで構成されると共に、前記変更手段は、その1バイトの現初期値メモリと2バイトの前記乱数カウンタとの一致の判断を、その乱数カウンタの上位バイトが所定値(例えば「0」)である場合に、その乱数カウンタの下位バイトの値と前記現初期値メモリの値とが一致するか否かにより行う比較手段と、その比較手段により一致すると判断された場合に、1バイトの前記バイトカウンタの値を2バイトの前記乱数カウンタの下位バイトおよび1バイトの前記現初期値メモリへ書き込む書き込み手段とを備えていることを特徴とする弾球遊技機5。
【0072】
請求項1記載の弾球遊技機において、前記第2更新手段の実行前に前記バイトカウンタの値をリセットするリセット手段を備えていることを特徴とする弾球遊技機6。
【0073】
【発明の効果】 本発明の弾球遊技機によれば、大当たりを決定するための乱数カウンタの更新の初期値は、固定値ではなく、定期的に変更される値である。よって、弾球遊技機の電源投入に合わせて、「ぶら下げ基板」等がその内部の不正なカウンタをリセットしても、そのカウンタの値を乱数カウンタの値と一致させることはできない。従って、「ぶら下げ基板」等による大当たりの発生タイミングの把握を不可能にして、「ぶら下げ基板」等による不正行為を防止することができるという効果がある。
【0074】
しかも、乱数カウンタの更新の初期値の元になるバイトカウンタの値は、定期的に実行される割込処理の残余時間の間に繰り返し更新される。割込処理の残余時間の長さは、遊技の状態に応じて変化するので、「ぶら下げ基板」等で把握することはできない。よって、かかる残余時間の間にバイトカウンタの値を繰り返し更新しているので、この点においても「ぶら下げ基板」等による乱数カウンタの値の把握を防止することができるという効果がある。
【0075】
また、バイトカウンタは1バイトで構成されるので、割込処理がいかなるタイミングで発生しても、書き込み途中の値が更新後のバイトカウンタの値となることはない。よって、書き込み途中の値が更新後のバイトカウンタの値となることにより生じる不具合を回避できるという効果がある。
【図面の簡単な説明】
【図1】 本発明の第1実施例であるパチンコ遊技機の遊技盤の正面図である。
【図2】 パチンコ遊技機の電気的構成を示したブロック図である。
【図3】 リセット割込処理を示したフローチャートである。
【図4】 次初期値メモリ更新処理を示したフローチャートである。
【図5】 乱数更新処理を示したフローチャートである。
【図6】 第2実施例のリセット割込処理を示したフローチャートである。
【図7】 第2実施例の乱数更新処理を示したフローチャートである。
【図8】 第3実施例の乱数更新処理を示したフローチャートである。
【図9】 第4実施例のリセット割込処理を示したフローチャートである。
【符号の説明】
11 制御部のCPU
11b 制御部のCPUの内部レジスタ
13 制御部のRAM
13a 乱数カウンタ
13b,13e 現初期値メモリ
13c 次初期値メモリ
13d バイトカウンタ
C 制御部
P パチンコ遊技機(弾球遊技機)
[Document name] statement
Patent application title: Ball bullet game machine
[Claim of claim]
    1. A process for periodically executing an interrupt process, a random number counter comprising at least 2 bytes, a first updating means for updating the value of the random number counter by the interrupt 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. In a ball game machine that provides value,
  A byte counter consisting of 1 byte,
  Second updating means for repeatedly updating the value of the byte counter during the remaining time until the next interrupt processing occurs by the interrupt processing;
  A current initial value memory for storing an initial value of the random number counter being updated;
  And changing means for changing the values of the random number counter and the current initial value memory based on the value of the byte counter.
  The current initial value memory is composed of one byte, and
  The changing means is
  When the upper byte of the random number counter has a predetermined value, the value of the lower byte of the random number counter and the current initial value memory are used to determine whether the 1-byte current initial value memory matches the 2-byte random number counter. Comparing means performed depending on whether or not the values of
  And writing means for writing the value of the byte counter of the 1 byte to the lower byte of the random number counter of 2 bytes and the current initial value memory of 1 byte when it is judged by the comparison means that they match.A bullet ball game machine characterized by having
Detailed Description of the Invention
      [0001]
    BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a ball game machine represented by a pachinko machine and the like, and more particularly to a ball game machine capable of preventing fraudulent acts due to "hanging board" and the like.
      [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 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 counter Is read out, and a jackpot is generated when the value of the read counter matches a predetermined value such as "7". 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 acts using a fraudulent substrate called "hanging substrate". 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 the counter for determining the 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 timing of occurrence of the jackpot is grasped in the "hanging board" by resetting the value of the counter according to the power-on of the pachinko gaming machine (0 clear). 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, there has been a problem that the fraudulent acts using this "hanging board" have suffered a great deal of damage.
      [0005]
  The present invention has been made to solve the above-mentioned problems, and it is impossible to grasp the timing of occurrence of a jackpot, and a ball game machine capable of preventing fraudulent acts using a "hanging board" or the like. The purpose is to provide.
      [0006]
    [Means for Solving the Problems] In order to achieve the object, a ball and ball game machine according to claim 1 comprises an interrupt process periodically executed, a random number counter composed of at least 2 bytes, and The random number counter comprises: a first updating means for updating the value of the random number counter by the interrupt processing; and a reading means for reading the value of the random number counter at a predetermined timing, the value of the random number counter read by the reading means When it matches with one of the defined values, a predetermined gaming value is given to the player under a predetermined condition, and a byte counter composed of 1 byte and the value of the byte counter are processed by the interrupt processing. , Second updating means for repeatedly updating during the remaining time until the next interrupt processing occurs, current initial value memory for storing the initial value of the random number counter being updated, and Based on the value of the counter, and a changing means for changing the random number counter and the value of the current initial value memoryThe current initial value memory is constituted by one byte, and the changing means determines the coincidence between the one byte current initial value memory and the two bytes of the random number counter, the upper byte of the random number counter is predetermined In the case of a value, the comparison means is performed based on whether or not the value of the lower byte of the random number counter matches the value of the current initial value memory, and if the comparison means And writing means for writing the value of the byte counter into the lower byte of the 2-byte random number counter and the 1 byte of the current initial value memory.ing.
      [0007]
  According to the ball and ball game machine of the first aspect, in the interrupt process periodically executed, the value of the random number counter is updated by the first updating means and read out by the reading means at a predetermined timing. . When the value of the read random number counter matches one of the predetermined values, the player wins, and a predetermined game value is awarded to the player under predetermined conditions.
      [0008]
  Further, the changing means changes the values of the random number counter and the current initial value memory based on the value of the byte counter. That is, the initial value of the update of the random number counter is changed based on the value of the byte counter. As described above, the initial value of the update of the random number counter is not a fixed value, but is a value that is periodically changed. Even if you reset one counter, the incorrect counter value can not match the value of the random number counter. Therefore, it is possible to prevent the "hanging board" and the like from grasping the occurrence timing of the jackpot.
      [0009]
  Moreover, the value of the byte counter is repeatedly updated by the second updating means during the remaining time until the next interrupt processing occurs. Since the length of the remaining time of the interrupt processing changes according to the state of the game, it can not be grasped by "hanging board" or the like. Therefore, by changing the initial value of the update of the random number counter based on the value of the byte counter which is repeatedly updated during the remaining time, the grasp of the value of the random number counter by "hanging board" etc. is prevented more effectively. can do.
      [0010]
  By the way, there are cases where interrupt processing for repeatedly updating the value of the byte counter is executed in the middle of an instruction. Therefore, if the byte counter is configured with 2 bytes or more, the value of the updated byte counter may be out of the range of the update of the random number counter depending on the occurrence timing of the interrupt processing. The byte counter is updated by reading the value once into the CPU (internal register or ALU), updating it in the CPU, and writing the updated value into the byte counter. Therefore, if the byte counter is configured with 2 bytes or more, the updated value is written to the byte counter one byte at a time, so after writing the partial byte after the update, before the writing of all the bytes, the next When an interrupt occurs, the value in the middle of writing may become the value of the byte counter after update, and may become a value outside the range of update of the random number counter.
      [0011]
  Since the initial value of the update of the random number counter is changed based on the value of the byte counter, for example, when the value of the byte counter is written to the random number counter to change the initial value of the update of the random number counter, the value of the byte counter is a random number If the value is out of the range of the update of the counter, the value of the random number counter becomes a value out of the range to be originally updated, causing 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. However, since the byte counter is configured with one byte, the value in the middle of writing does not become the value of the byte counter after update even if interrupt processing occurs at any timing, and the above-mentioned problem should be avoided. Can.
      [0012]
    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 game machine, in particular, a first-class pachinko game machine will be described as an example of a ball and ball game machine. Of course, it is possible to use the present invention for a third-class pachinko gaming machine and other ball and ball gaming machines.
      [0013]
  FIG. 1 is a front view of the gaming board of the pachinko gaming machine P of the 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.
      [0014]
  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.
      [0015]
  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 FIGS. 3 to 5 are stored in the ROM 12 as part of the control program.
      [0016]
  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 (written) into the internal register 11b of the CPU 11, updated in the internal register 11b, and saved (written in) in the original counter of the RAM 13. ) Is updated.
      [0017]
  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. In this case, since the data bus of the bus line 14 is made up of 8 bits, writing is performed in the order of upper byte and 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.
      [0018]
  The RAM 13 includes a random number counter 13a, a current initial value memory 13b, a next initial value memory 13c, and a byte counter 13d. 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 (S7) 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.
      [0019]
  The current initial value memory 13b is a memory for storing an initial value during updating of the random number counter 13a, and the next initial value memory 13c is a memory for storing an initial value for the next update of the random number counter 13a. . The current initial value memory 13b and the next initial value memory 13c are both configured of 2 bytes as in the case of the random number counter 13a, and both are "0 to 630 (0 to 276 h)" the same as the update range of the random number counter 13a. Updated within range. 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 13a. Therefore, when the value of the updated random number counter 13a matches the value of the current initial value memory 13b, one round of update of the random number counter 13a is completed, so that the coincidence of both the values 13a and 13b is triggered by the coincidence. The value of the next initial value memory 13c at that time is written to the random number counter 13a and the current initial value memory 13b, 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.
      [0020]
  The byte counter 13d is a counter for updating the value of the next initial value memory 13c, and is configured of one byte. The value of the byte counter 13 d is within the range of “0 to 255 (0 to 0 FFh)” during the remaining time until the next reset interrupt occurs after the end of the processing from S1 to S20 of the reset interrupt processing. Repeatedly "1" is added (incremented) and updated. The updated value of the byte counter 13d is added to the value of the next initial value memory 13c in the next initial value memory updating process (S6) executed before the random number updating process (S7), and the next initial value memory 13c Update the value of.
      [0021]
  The reset interrupt process is executed every 2 ms, but the processing time of each process from S1 to S20 is programmed to end within 2 ms even in the maximum case, and the remaining time is always generated . Since the processing time of each process of S1 to S20 executed in one reset interruption process changes according to the situation of the game, the remaining time of the reset interruption process is not a fixed time but the situation of the game It becomes an indeterminate time that changes accordingly. Since the "hanging board" can not grasp this indeterminate time, the value of the next initial value memory 13c is updated based on the value of the byte counter 13d which is repeatedly updated in the indeterminate time, and the next initial value By using the value of the memory 13c as the initial value of the update of the random number counter 13a, it becomes impossible to grasp the timing of the jackpot occurrence by the “hanging board”.
      [0022]
  The value of the byte counter 13d is updated by writing the value into the byte counter 13d after the value is once read into the CPU 11 and updated in the CPU 11. On the other hand, the reset interrupt is a non-maskable interrupt that can not inhibit the generation of the interrupt, and has the highest interrupt priority, and it is forcibly started even during the execution of an instruction of the CPU 11 It is an interruption. Therefore, the byte counter 13d is configured by one byte so that no problem occurs even if the next reset interrupt occurs at any timing during the updating of the byte counter 13d. Since writing of one byte of data is performed at one time, it is possible to prevent the value of the byte counter 13d from becoming a value during writing by configuring the byte counter 13d with one byte.
      [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, each process performed by the pachinko gaming machine P configured as described above will be described with reference to the flowcharts of FIGS. 3 to 5. FIG. 3 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.
      [0027]
  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 process which is initially executed after the power is turned on, or there is an abnormality in the RAM 13 (S2: abnormality) In this case, the process proceeds to S23, and once the contents of the RAM 13 are cleared, an initial value is written in the RAM 13 (S23), and the generation of the next reset interrupt process is awaited.
      [0028]
  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 (S16), the display data creation process (S18), the lamp and the information processing (S19), etc. Port output processing for output to the port is executed (S5). Thereafter, the next initial value memory update process (S6) described later is executed to update the value of the next initial value memory 13c, and the random number update process (S7) is performed to increment the value of the random number counter 13a by "+1". After updating, a storage timer subtraction process is executed (S8). 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.
      [0029]
  In the switch reading process (S9), 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 bats hit into the game area 1 are achieved. It is a process for detecting passing, and further winning balls and rental balls. The count abnormality monitoring process (S10) is a process for monitoring whether or not the switch data read by the switch reading process of S9 has an abnormality. 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, 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 (S10), the presence or absence of the above abnormality is monitored based on the switch data read by the switch reading process (S9).
      [0030]
  In the symbol counter updating process (S11), as a result of the variable display performed on the LCD display 3, a counter updating process is performed to determine a symbol to be displayed in a stopped state. Also, in the symbol check process (S12), based on the value of the counter updated in the symbol counter update process (S11), the jackpot symbol used in the special symbol variation process (S16), the off pattern, further reach symbol Etc are determined.
      [0031]
  In the processes from S3 to S12, if no error occurs (S13: normal), the variation display of the 7-segment LED is performed by the normal symbol variation processing (S14), and a hit occurs 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 (S15), and if the symbol display of the LCD display 3 is being displayed in a fluctuating manner (S15: symbol fluctuating), the timing at which the bat passes the symbol actuation gate 4 by special symbol fluctuation processing (S16) 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 (S15: jackpot middle), a jackpot process (S17) 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 (S15: other), the processing of S16 and S17 is skipped, and the process proceeds to display data creation processing of S18. When an error is confirmed in the process of S13 (S13: error), the process of S14 to S17 is skipped, and the process proceeds to the display data creation process of S18.
      [0032]
  In the display data creation process (S18), demo data 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 (S19) Various lamp data are created, including data. In the sound effect processing (S20), 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.
      [0033]
  After the end of the sound effect processing (S20), the symbol counter update processing (S21) which is the same processing as S11 and "+1" of the byte counter 13d during the remaining time until the next reset interrupt processing occurs Increment processing (S22) which is addition is repeatedly performed. Since the execution time of each process of S1 to S20 changes according to the state of the game, the remaining time until the next reset interrupt process occurs is not a fixed time, but changes according to the state of the game. Therefore, it is possible to change the stop symbol at random by repeatedly executing the symbol counter update process (S21) using the remaining time.
      [0034]
  In addition, by repeatedly updating the value of the byte counter 13d using such remaining time, it is possible to make the value of the byte counter 13d impossible to be grasped by the “hanging board”. The value of the byte counter 13d is added to the value of the next initial value memory 13c in the next initial value memory updating process (S6) to update the value of the next initial value memory 13c. Since the value of the next initial value memory 13c is a value that becomes the initial value of the next update of the random number counter 13a, the occurrence timing of the jackpot can be determined by making the value of the byte counter 13d impossible to grasp by the "hanging board". It is not possible to grasp with "hanging board", and it is possible to prevent fraudulent acts by "hanging board".
      [0035]
  FIG. 4 is a flowchart of the next initial value memory update process. In the next initial value memory update process (S6), the value of the next initial value memory 13c storing the initial value of the update of the random number counter 13a via the internal register 11b of the CPU 11 based on the value of the byte counter 13d Update is performed within the range of “0 to 630 (0 to 276 h)” of the update range of 13 a.
      [0036]
  First, the value of the next initial value memory 13c consisting of 2 bytes is written to the 2 byte internal register 11b (S41). Next, the value of 1-byte byte counter 13d is added to internal register 11b (S42), and whether the value of internal register 11b after addition is "631" or more, that is, the update range of random number counter 13a It is checked whether the value is exceeded (S43).
      [0037]
  If the value of the internal register 11b after addition is "631" or more (S43: Yes), the value exceeds the value of the update range of the random number counter 13a, so that value is used as the initial value of the next random number counter 13a. It can not be written to the initial value memory 13c. Therefore, "631 (277h)" which is the maximum value + 1 of the update range of the random number counter 13a is subtracted from the value of the internal register 11b (S44), and the value of the internal register 11b is "0 to 630 (0 to 276h)". It is a value within the range.
      [0038]
  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 value of the 2-byte internal register 11b is written to the next initial value memory 13c in the order of the upper byte and the lower byte by the 2-byte write instruction of the 68 system CPU 11 (S45), and the next initial value memory 13c is updated Finish.
      [0039]
  FIG. 5 is a flowchart of the random number update process. In the random number updating process (S7), 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.
      [0040]
  First, the value of the random number counter 13a composed of 2 bytes is written to the 2-byte internal register 11b (S51). The value of the internal register 11b is incremented by 1 (S52), 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. (S53). If the value of the internal register 11b after the addition is "631" or more (S53: Yes), the value of the internal register 11b is cleared to "0" because the value of the update range is exceeded (S54). On the other hand, if the value of the internal register 11b after the addition is "630" or less (S53: No), since the value is within the update range, the process of S54 is skipped, and the process proceeds to S55.
      [0041]
  In the process of S55, the value of the updated internal register 11b is compared with the value of the current initial value memory 13b. Since the current initial value memory 13b stores the initial value of the update of the random number counter 13a currently being updated, if the two values are equal (S55: Yes), the update of the random number counter 13a is said to have ended one round. It is. Therefore, in such a case, the value of the next initial value memory 13c storing the initial value of the next update of the random number counter 13a is written to the internal register 11b (S56), and the value of the internal register 11b is the current initial value memory 13b and The random number counter 13a is written (S57, S58), and the initial value of the update of the random number counter 13a is changed.
      [0042]
  On the other hand, when the value of the internal register 11b after the update and the value of the current initial value memory 13b are not equal (S55: No), the update of the random number counter 13a has not been completed by one round. The process is skipped, the value of the internal register 11b updated in the process of S52 to S54 is written to the random number counter 13a (S58), and the random number counter 13a is updated. After that, update processing of other random numbers used in the control unit C is performed (S59), and the random number update processing is ended.
      [0043]
  As described above based on the flowcharts of FIG. 3 to FIG. 5, the random number counter 13a used for the determination of the jackpot changes the initial value of the update every update, but the initial value of the update is It is calculated by adding the value of the byte counter 13d to the value of the next initial value memory 13c. The byte counter 13d is repeatedly updated during the remaining time of the reset interrupt process which changes according to the state of the game, so that the value can not be grasped by the "hanging board". Therefore, since the value of the random number counter 13a is updated from the value that can not be grasped by the "hanging board" every one round of update, it is impossible to grasp the timing of occurrence of the jackpot by the "hanging board". It is possible to prevent cheating.
      [0044]
  The reset interrupt is a non-maskable interrupt with the highest interrupt priority, and is an interrupt that is started even while an instruction is being executed. However, since the byte counter 13d is composed of one byte, No problem occurs even if the next reset interrupt occurs at any timing during the updating of the byte counter 13d. This is because the writing of one byte of data is performed at one time, so the value of the byte counter 13d does not become the value during writing.
      [0045]
  Next, a second embodiment will be described with reference to FIGS. 6 and 7. FIG. 6 is a flowchart of the reset interrupt process of the second embodiment, and FIG. 7 is a flowchart of the random number update process of the second embodiment. In the second embodiment, when the value of the random number counter 13a matches the value of the current initial value memory 13b without using the next initial value memory 13c, the byte counter 13d is used as the initial value for updating the current random number counter 13a. Is added to calculate the initial value of the next update of the random number counter 13a. The same parts as those in the first embodiment described above are designated by the same reference numerals, and the description thereof will be omitted.
      [0046]
  In the reset interrupt process of FIG. 6, the next initial value memory update process (S6) in the reset interrupt process of the first embodiment of FIG. 3 is deleted, and the random number update process (S7) Change to S70). The other processes (S1 to S5 and S8 to S23) are the same as the reset interrupt process of FIG.
      [0047]
  In the random number update process (S70) of FIG. 7, first, the value of the random number counter 13a composed of 2 bytes is first written to the 2-byte internal register 11b (S71), and the value of the internal register 11b is incremented by 1 (S70) S72) Update the value of the random number counter 13a. 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 (S73), and if it is "631" or more (S73) Yes: Since the value of the update range of the random number counter 13a is exceeded, the value of the internal register 11b is cleared to "0" (S74). On the other hand, if the value of the internal register 11b after the addition is "630" or less (S73: No), since the value is within the update range of the random number counter 13a, the process of S74 is skipped, and the process proceeds to S75. Do.
      [0048]
  In the process of S75, the value of the updated internal register 11b is compared with the value of the current initial value memory 13b. Since the current initial value memory 13b stores the initial value of the update of the random number counter 13a currently being updated, if the two values are equal (S75: Yes), the update of the random number counter 13a is said to have ended one round. It is. Therefore, in such a case, the value of the 1-byte byte counter 13d is added to the internal register 11b to calculate the initial value of the next update of the random number counter 13a (S76). 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 (S77), and if it is "631" or more (S77) Yes: Since the value of the update range of the random number counter 13a is exceeded, “631” which is the maximum value + 1 of the update range of the random number counter 13a is subtracted from the value of the internal register 11b after addition (S78), The value of the internal register 11b is a value within the update range of the random number counter 13a. On the other hand, if the value of the internal register 11b after the addition is "630" or less (S77: No), since the value is within the update range of the random number counter 13a, the process of S78 is skipped and the process proceeds to S79. Do.
      [0049]
  In the process of S79, since the initial value of the update of the next random number counter 13a calculated in the process of S76 to S78 is stored in the internal register 11b, the value of the internal register 11b is stored in the current initial value memory 13b and The random number counter 13a is written (S79, S80), and the initial value of the update of the random number counter 13a is changed.
      [0050]
  On the other hand, when the value of the internal register 11b updated in the process of S72 to S74 is not equal to the value of the current initial value memory 13b (S75: No), the update of the random number counter 13a has not finished one round Therefore, the processing of S76 to S79 is skipped, the value of the internal register 11b updated in the processing of S72 to S74 is written to the random number counter 13a (S80), and the random number counter 13a is updated. After that, update processing of other random numbers used by the control unit C is performed (S81), and the random number update processing is ended.
      [0051]
  Thus, the initial value of the update of the random number counter 13a can be changed by directly using the value of the byte counter 13d without using the next initial value memory 13c.
      [0052]
  Next, a third embodiment will be described with reference to FIG. In the third embodiment, not only the next initial value memory 13c is used, but also the current initial value memory 13e is constituted by 1 byte. That is, when the upper byte of the random number counter 13a is a predetermined value ("0" in the third embodiment) and the lower byte of the random number counter 13a matches the value of the current initial value memory 13e of 1 byte, The value of the byte counter 13d is written to the lower byte of the random number counter 13a and the 1-byte current initial value memory 13e to change the initial value of the update of the random number counter 13a. Thus, in the third embodiment, the initial value of the update of the random number counter 13a is changed within the range of "000h to 0FFh". The same parts as those of the second embodiment described above are designated by the same reference numerals, and the description thereof will be omitted. Further, as the reset interrupt process of the third embodiment, the reset interrupt process of the second embodiment of FIG. 6 is used.
      [0053]
  In the random number updating process (S70) of FIG. 8, first, the value of the random number counter 13a consisting of 2 bytes is written to the 2-byte internal register 11b (S91), and the value of the internal register 11b is added 1 ( S92) Update the value of the random number counter 13a. 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 (S93), and if it is "631" or more (S93) Yes: Since the value of the update range of the random number counter 13a is exceeded, the value of the internal register 11b is cleared to "0" (S94). On the other hand, if the value of the internal register 11b after the addition is "630" or less (S93: No), since the value is within the update range of the random number counter 13a, the process of S94 is skipped and the process proceeds to the process of S95. Do.
      [0054]
  In the process of S95, it is checked whether or not the value of the upper byte of the internal register 11b after update is "0" (S95). If it is "0" (S95: Yes), the lower order of the internal register 11b is further determined. The value of the byte is compared with the value of the current initial value memory 13e of 1 byte (S96). Since the lower byte of the initial value of the update of the random number counter 13a which is currently being updated is stored in the current initial value memory 13e, if the two values are equal (S96: Yes), the update of the random number counter 13a goes round It means that it was finished. Therefore, in such a case, in order to change the initial value of the update of the random number counter 13a, the value of the 1-byte byte counter 13d is written to the lower byte of the 2-byte internal register 11b (S97), and the value of the internal register 11b To the initial value of the next update of the random number counter 13a. The value of the lower byte of internal register 11b is written to 1-byte current initial value memory 13e (S98), the value of current initial value memory 13e is updated, and the values of the upper byte and lower byte of internal register 11b are further updated. The 2-byte random number counter 13a is written (S99) to change the initial value of the update of the random number counter 13a.
      [0055]
  On the other hand, in the processing of S95, if the value of the upper byte of the internal register 11b updated in the processing of S92 to S94 is not "0" (S95: No), the value of the upper byte of the internal register 11b after updating is " Even if it is "0" (S95: Yes), if the value of the lower byte of the internal register 11b is not equal to the value of the 1-byte current initial value memory 13e (S96: No), updating of the random number counter 13a is It has not finished one round yet. Therefore, in this case, the processes of S97 and S98 are skipped, the value of the internal register 11b updated in the process of S92 to S94 is written to the random number counter 13a (S99), and the random number counter 13a is updated.
      [0056]
  After completion of the processing of S99, update processing of another random number used in the control unit C is performed (S100), and this random number update processing is ended. As described above, the current initial value memory 13e is configured with 1 byte without using the next initial value memory 13c, and the value of the byte counter 13d is directly used to change the initial value of the update of the random number counter 13a. You can also. In this case, the comparison between the value of the 2-byte random number counter 13a and the value of the 1-byte current initial value memory 13e is compared when the upper byte of the random number counter 13a has a predetermined value ("0" in the third embodiment). ), Whether the lower byte of the random number counter 13a matches the value of the current initial value memory 13e or not.
      [0057]
  In the process of S95, since the value of the upper byte of the internal register 11b updated in the process of S92 to S94 is compared with "0", the initial value of the update of the random number counter 13a is in the range of "000h to 0FFh". Changed within. Therefore, when the value of the upper byte of the internal register 11b after the update is compared with "1" in the process of S95, the initial value of the update of the random number counter 13a is changed in the range of "100h to 1FFh". . Also, when compared with "2", the initial value of the update of the random number counter 13a is changed in the range of "200h to 276h", but in this case, the lower byte of the internal register 11b in the process of S97. If the value of the byte counter 13d to be written into is "77h to 0FFh", processing for correcting the value within the range of "00h to 76h" is required.
      [0058]
  Next, a fourth embodiment will be described with reference to FIG. FIG. 9 is a flowchart of the reset interrupt process of the fourth embodiment. In the fourth embodiment, after the value of the byte counter 13d is cleared to "0", the value of the byte counter 13d is repeatedly updated using the remaining time of the reset interrupt process. The same parts as those in the first embodiment described above are designated by the same reference numerals, and the description thereof will be omitted.
      [0059]
  As shown in FIG. 9, after the end of the sound effect processing (S20), the value of the byte counter 13d is cleared to "0" (S101), and the symbol counter is processed for the remaining time until the next reset interrupt processing occurs. The update process (S21) and the increment process (S22) which is the "+1" addition of the byte counter 13d are repeatedly executed.
      [0060]
  As described above, the value of the byte counter 13d is set to "0" before the process of S22 as long as the value of the byte counter 13d is not updated more than one turn by the process of S22 during the remaining time of one reset interrupt process. By clearing, it is possible to obtain the same effect as repeatedly updating the value of the next initial value memory 13c during the remaining time of the reset interrupt process. That is, according to the configuration of the fourth embodiment, the value of the next initial value memory 13c can be updated continuously.
      [0061]
  Note that, instead of the process of S101, the value of the byte counter 13d may be cleared to "0" in the next initial value memory update process (S6) of FIG. Specifically, the value of the byte counter 13d may be cleared to "0" after execution of the process of S45.
      [0062]
  Also in the reset interrupt process of FIG. 6 of the second and third embodiments, just after the sound effect process of S20 and before the repeat process of S21 and S22, as in the reset interrupt process of FIG. A process of clearing "0" of the byte counter 13d corresponding to the process of S101 is added, or immediately after the process of S80 in the random number update process of FIG. 7 or immediately after the process of S99 in the random number update process of FIG. , "0" clear processing of the byte counter 13d corresponding to the processing of S101 may be added.
      [0063]
  In each of the above embodiments, the non-maskable reset interrupt process corresponds to the interrupt process according to claim 1, and the processes of S51 to S54 and S58 of the random number update process (S7) of FIG. 5 correspond to the first update means. The processes of S71 to S74 and S80 of the random number updating process (S70) of FIG. 7 correspond to the processes of S91 to S94 and S99 of the random number updating process (S70) of FIG. Further, the processing of S22 in FIG. 3 and FIG. 6 corresponds to the second updating means, and the processing in S55 to S58 of the random number updating process (S7) of FIG. 5 and the random number updating process of FIG. The processing of S75 to S80) and the processing of S95 to S99 of the random number updating processing (S70) of FIG. 8 correspond to each other.
      [0064]
  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.
      [0065]
  For example, in each of the above-described embodiments, the value of the byte counter 13d is updated in the addition direction by increment. However, the present invention is not limited to this, and may be performed in the subtraction direction by decrement. Further, updating of the value of the next initial value memory 13c in the first embodiment (S42 to S44) and updating of the value of the current initial value memory 13b in the second embodiment (S76 to S79) are performed using the value of the byte counter 13d. Although this is performed by adding, these may be performed by subtracting the value of the byte counter 13d.
      [0066]
  In each of the above embodiments, the byte counters 13d are each configured by one byte (8 bits), but the size of the byte counter 13d is not necessarily fixed to 8 bits. For example, the byte counter may be configured with 16 bits if the CPU can update 16-bit data at one time, or the byte counter may be configured with 32 bits if the CPU can update 32-bit data at a time You may. That is, the size of the byte counter can be set within the range of the maximum number of bits that can be updated at one time by the CPU.
      [0067]
  Below, the modification of this invention is shown. 2. The ball and ball game machine according to claim 1, wherein said changing means comprises: a next initial value memory comprising at least 2 bytes storing the initial value of the next update of said random number counter; The third update means for updating based on the value of the byte counter, and the next initial value memory updated by the third update means when the value of the current initial value memory matches the value of the random number counter A bullet ball gaming machine 1 comprising a writing means for writing a value to the random number counter and the current initial value memory.
      [0068]
  In the ball and ball game machine 1, a ball and ball game machine 2 characterized in that the third updating means is executed before the execution of the second updating means.
      [0069]
  The ball game machine according to claim 1, wherein the changing means changes the value of the byte counter by adding or subtracting the value of the random number counter and the value of the current initial value memory. Ball game machine 3.
      [0070]
  The ball game machine according to claim 1, wherein the current initial value memory is configured by 2 bytes, and the changing means sets the value of the byte counter of 1 byte to the lower byte of the random number counter and the current initial value memory. Ballistic ball game machine 4 characterized by writing and changing those values.
      [0071]
  2. The ball and ball game machine according to claim 1, wherein the current initial value memory is constituted by one byte, and the change means determines the coincidence between the one byte current initial value memory and the two bytes of the random number counter. And comparing means for determining whether the value of the lower byte of the random number counter matches the value of the current initial value memory when the upper byte of the random number counter is a predetermined value (for example, "0"). And writing means for writing the value of the 1-byte byte counter into the 2-byte lower byte of the random number counter and the 1-byte current initial value memory when it is judged by the comparison means that they match. Ballistic ball game machine 5 characterized by.
      [0072]
  The ball and ball game machine according to claim 1, further comprising: reset means for resetting the value of said byte counter before execution of said second update means.
      [0073]
    According to the ball and ball game machine of the present invention, the initial value of the update of the random number counter for determining the jackpot is not a fixed value but a value which is periodically changed. Therefore, even if the "hanging board" or the like resets an incorrect counter inside of the ball game machine after the power is turned on, the value of the counter can not match the value of the random number counter. Therefore, it is possible to prevent grasping of the occurrence timing of the jackpot by the “hanging board” and the like, and to prevent the fraudulent action by the “hanging board” and the like.
      [0074]
  Moreover, the value of the byte counter, which is the source of the initial value of the update of the random number counter, is repeatedly updated during the remaining time of the interrupt processing that is periodically executed. Since the length of the remaining time of the interrupt processing changes according to the state of the game, it can not be grasped by "hanging board" or the like. Therefore, since the value of the byte counter is repeatedly updated during the remaining time, it is possible to prevent grasping of the value of the random number counter by "hanging board" or the like also in this respect.
      [0075]
  Further, since the byte counter is formed of one byte, the value in the middle of writing does not become the value of the byte counter after update even if interrupt processing occurs at any timing. Therefore, there is an effect that it is possible to avoid the problem caused by the value in the middle of writing becoming the value of the byte counter after the update.
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 flowchart showing a reset interrupt process.
    FIG. 4 is a flowchart showing a next initial value memory update process.
    FIG. 5 is a flowchart showing random number update processing;
    FIG. 6 is a flowchart showing a reset interrupt process of the second embodiment.
    FIG. 7 is a flowchart showing random number update processing according to a second embodiment;
    FIG. 8 is a flowchart showing random number update processing according to a third embodiment;
    FIG. 9 is a flow chart showing a reset interrupt process of the fourth embodiment.
    [Description of the code]
11 CPU of control unit
11b Internal register of CPU of control unit
13 RAM of control unit
13a Random number counter
13b, 13e Current initial value memory
13c next initial value memory
13d byte counter
C control unit
P Pachinko gaming machine (ball bullet gaming machine)

Claims (1)

定期的に実行される割込処理と、少なくとも2バイトで構成された乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する第1更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与する弾球遊技機において、
大当たりの発生タイミングの把握を不可能にして、ぶら下げ基板等を用いた不正行為を防止することを特徴とする弾球遊技機。
An interrupt process periodically executed, a random number counter composed of at least 2 bytes, a first updating means for updating the value of the random number counter by the interrupt process, and a value of the random number counter at a predetermined timing And a reading means for reading out the random number counter, and when the value of the random number counter read by the reading means matches one of the predetermined values, the player is provided with a predetermined gaming value under predetermined conditions. In a ball game machine,
A bullet ball gaming machine characterized by making it impossible to grasp the timing of occurrence of a jackpot and preventing cheating using a hanging board or the like.
JP01491099A 1998-12-04 1999-01-22 Bullet ball machine Expired - Fee Related JP4281138B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01491099A JP4281138B2 (en) 1998-12-04 1999-01-22 Bullet ball machine

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-345923 1998-12-04
JP34592398 1998-12-04
JP01491099A JP4281138B2 (en) 1998-12-04 1999-01-22 Bullet ball machine

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2003306758A Division JP4407209B2 (en) 1998-12-04 2003-08-29 Bullet ball machine
JP2008169753A Division JP4507019B2 (en) 1998-12-04 2008-06-30 Bullet ball machine

Publications (3)

Publication Number Publication Date
JP2000225260A JP2000225260A (en) 2000-08-15
JP2000225260A5 true JP2000225260A5 (en) 2006-03-09
JP4281138B2 JP4281138B2 (en) 2009-06-17

Family

ID=26350951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01491099A Expired - Fee Related JP4281138B2 (en) 1998-12-04 1999-01-22 Bullet ball machine

Country Status (1)

Country Link
JP (1) JP4281138B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5391574B2 (en) * 2008-04-25 2014-01-15 株式会社三洋物産 Game machine

Similar Documents

Publication Publication Date Title
JP2000271326A5 (en)
JP4507019B2 (en) Bullet ball machine
JP4407209B2 (en) Bullet ball machine
JP4033083B2 (en) Game machine
JP5278501B2 (en) Bullet ball machine
JP2000167212A (en) Pachinko game machine
JP4124062B2 (en) Game machine
JP4281138B2 (en) Bullet ball machine
JP2000225260A5 (en)
JP2004000755A5 (en)
JP3951482B2 (en) Game machine
JP2004008807A5 (en)
JP4293218B2 (en) Game machine
JP4379936B2 (en) Bullet ball machine
JP4483847B2 (en) Game machine
JP5035446B2 (en) Bullet ball machine
JP4375475B2 (en) Bullet ball machine
JP4375473B2 (en) Bullet ball machine
JP4626641B2 (en) Bullet ball machine
JP4450259B2 (en) Bullet ball machine
JP4375474B2 (en) Bullet ball machine
JP5382039B2 (en) Bullet ball machine
JP4626640B2 (en) Bullet ball machine
JP4626642B2 (en) Bullet ball machine
JP4868059B2 (en) Bullet ball machine