【書類名】 明細書
【発明の名称】 遊技機
【特許請求の範囲】
【請求項1】 乱数カウンタと、該乱数カウンタの値を所定の範囲内で更新する乱数カウンタ更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを有し、その読出手段により読み出された前記乱数カウンタの値が予め定められた値と一致する場合に、遊技者に所定の遊技価値を付与する制御手段を備えた遊技機において、
前記乱数カウンタの値は、前記乱数カウンタ更新手段により所定回更新されることで一周するものであり、
前記乱数カウンタ更新手段は、所定条件が成立すると、前記所定の範囲内のいずれかの値を更新の初期値として次の周の更新を行なうものであり、
前記制御手段は、
前記所定条件が成立する毎に、前記乱数カウンタ更新手段の更新の初期値を変更する初期値変更手段と、
前記初期値を前記所定の範囲と同じ範囲で生成する初期値生成手段と、
遊技機の電源オフ後も記憶内容を保持可能な保持記憶手段とを有すると共に、
定期的に実行される定期処理と、非定期的に実行される所定の処理とを実行可能であり、
前記初期値生成手段は、演算を実行する演算手段が有するレジスタにおいて、複数バイトのデータで構成される初期値の更新処理を1命令で実行し、
該初期値の更新処理は、前記定期処理および前記所定の処理において行われ、
前記制御手段は、遊技機の電源がオフした場合の前記レジスタに記憶されている初期値を、前記保持記憶手段で保持可能とする書込手段を有していることを特徴とする遊技機。
【請求項2】 前記更新処理は、加算処理であることを特徴とする請求項1記載の遊技機。
【請求項3】 前記更新処理は、減算処理であることを特徴とする請求項1記載の遊技機。
【請求項4】 前記遊技機は、パチンコ遊技機であることを特徴とする請求項1から3のいずれかに記載の遊技機。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、パチンコ機やスロットマシンなどに代表される遊技機に関するものである。
【0002】
【従来の技術】 従来、例えばパチンコ機等は、複数種類の図柄を変動表示可能な表示装置を備えており、遊技領域に打ち込まれた球が図柄作動口へ入賞することに基づいて変動表示を開始するように構成されている。そして、ある種のパチンコ機では、この変動表示が予め定められた図柄の組み合わせを表示した場合に、大当たりとなって、遊技者に所定の遊技価値が付与される。
【0003】
ところで、例えば、表示装置で行われる変動表示、具体的には、例えば図柄停止前のリーチ演出内容や大当たり図柄を含めた停止図柄の種類等は、球が図柄作動口へ入賞するタイミングによって決定される。即ち、1カウントずつ更新される所謂乱数カウンタを備え、球が図柄作動口へ入賞したタイミングで、その乱数カウンタの値を読み出して、読み出された乱数カウンタの値に基づいて演出内容等を決定するのである。
【0004】
かかる乱数カウンタの値にランダム性を持たせるため、その乱数カウンタの値の更新またはその乱数カウンタの更新の初期値をカウントするカウンタの値の更新は、1の制御ルーチンだけでなく、2以上の制御ルーチンで行うようにしている。
【0005】
【発明が解決しようとする課題】 しかしながら、1のカウンタの更新を2以上の制御ルーチンで行う場合、1の制御ルーチンでカウンタを更新している最中に別の制御ルーチンが実行されてそのカウンタの更新が行われると、別の制御ルーチンによって更新されたカウンタの値は、その別の制御ルーチンの実行後に実行される1の制御ルーチンによって書き替えられてしまう恐れがあり、その場合には、別の制御ルーチンで行ったカウント値の更新が無意味なものとなるという問題点等がある。
【0006】
本発明は、上記例示した問題点等を解決するためになされたものであり、1のカウンタを2以上の処理で更新する場合であっても、そのカウンタの値の更新を好適に実行可能とすることができる遊技機を提供することを目的としている。
【0007】
【課題を解決するための手段】 この目的を達成するために請求項1記載の遊技機は、乱数カウンタと、該乱数カウンタの値を所定の範囲内で更新する乱数カウンタ更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを有し、その読出手段により読み出された前記乱数カウンタの値が予め定められた値と一致する場合に、遊技者に所定の遊技価値を付与する制御手段を備えており、前記乱数カウンタの値は、前記乱数カウンタ更新手段により所定回更新されることで一周するものであり、前記乱数カウンタ更新手段は、所定条件が成立すると、前記所定の範囲内のいずれかの値を更新の初期値として次の周の更新を行なうものであり、前記制御手段は、前記所定条件が成立する毎に、前記乱数カウンタ更新手段の更新の初期値を変更する初期値変更手段と、前記初期値を前記所定の範囲と同じ範囲で生成する初期値生成手段と、遊技機の電源オフ後も記憶内容を保持可能な保持記憶手段とを有すると共に、定期的に実行される定期処理と、非定期的に実行される所定の処理とを実行可能であり、前記初期値生成手段は、演算を実行する演算手段が有するレジスタにおいて、複数バイトのデータで構成される初期値の更新処理を1命令で実行し、該初期値の更新処理は、前記定期処理および前記所定の処理において行われ、前記制御手段は、遊技機の電源がオフした場合の前記レジスタに記憶されている初期値を、前記保持記憶手段で保持可能とする書込手段を有している。
請求項2記載の遊技機は、請求項1記載の遊技機において、前記更新処理は、加算処理である。
請求項3記載の遊技機は、請求項1記載の遊技機において、前記更新処理は、減算処理である。
請求項4記載の遊技機は、請求項1から3のいずれかに記載の遊技機において、前記遊技機は、パチンコ遊技機である。
【0008】
【発明の実施の形態】 以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例として弾球遊技機の一種であるパチンコ機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や他の遊技機に用いることは、当然に可能である。
【0009】
図1は、本実施例のパチンコ機Pの遊技盤の正面図である。遊技盤1の周囲には、球が入賞することにより所定個数の球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄(特別図柄)などを表示する液晶ディスプレイ(以下単に「LCD」と略す)3が設けられている。このLCD3の表示画面は縦方向に3分割されており、3分割された各表示領域において、それぞれ上から下へ上下方向にスクロールしながら図柄の変動表示が行われる。
【0010】
LCD3の上方には、表面に「○」と「×」との普通図柄が表示された2つのLED6a,6bで構成された普通図柄表示装置6が配設されている。この普通図柄表示装置6では、遊技領域に打ち込まれた球がLCD3の両側に配設されたゲート7を通過した場合に、「○」と「×」とのLED6a,6bを交互に点灯させる変動表示が行われる。かかる変動表示が「○」のLED6aで終了した場合には、当たりとなって普通電動役物4が所定時間(例えば0.5秒)開放される。
【0011】
また、LCD3の下方には、図柄作動口(第1種始動口、普通電動役物)4が設けられており、球がこの図柄作動口4へ入賞することにより、前記したLCD3の変動表示が開始される。図柄作動口4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、球が入賞しやすいように所定時間(例えば、30秒経過するまで、或いは、球が10個入賞するまで)開放される入賞口である。
【0012】
この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値が付与された状態(特別遊技状態)である。
【0013】
なお、第3種パチンコ遊技機において所定の遊技価値が付与された状態(特別遊技状態)とは、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、特定入賞口が所定時間開放されることをいう。この特定入賞口の開放中に、球がその特定入賞口内へ入賞すると、特定入賞口とは別に設けられた大入賞口が所定時間、所定回数開放される。
【0014】
図2は、かかるパチンコ機Pの電気的構成を示したブロック図である。パチンコ機Pの主制御基板Cには、演算装置である1チップマイコンとしてのMPU11が搭載されている。このMPU11の詳細については、図3を参照しつつ後述する。
【0015】
図2に示すように、MPU11は、払出モータ17によって賞球や貸球の払出制御を行う払出制御基板Hと、前述した特別図柄及び普通図柄の変動表示の制御を行う表示用制御基板Dと、第1種始動口スイッチ20と、そのほか、他の入出力装置21とにそれぞれ接続されている。また、表示用制御基板Dは、スピーカ18から効果音の出力制御を行うと共にLEDや各種ランプ19の点灯制御を行う音声ランプ制御基板Sと接続され、主制御基板CのMPU11から送信される制御用コマンドに基づいて、かかる音声ランプ制御基板Sの動作を制御する。
【0016】
第1種始動口スイッチ20は、図柄作動口(第1種始動口)4(図1参照)に入賞した球を検出するためのスイッチであり、図柄作動口4の近傍に設けられている。第1種始動口スイッチ20によって球が検出されると、払出モータ17が作動して図示しない払出装置によって5個の賞球が払い出される。また、第1種始動口スイッチ20によって球が検出された場合には、乱数カウンタ54b(図3参照)の値が取得され、その取得された値がユーザワークRAM54の所定の領域に書き込まれて記憶される。
【0017】
電源基板30は、パチンコ機Pの各部に電力を供給するための電源部30aと、停電監視回路30bと、クリアスイッチ30cとを備えている。停電監視回路30bは、停電等の発生による電源断時に、主制御基板CのMPU11のNMI端子へ停電信号31を出力するための回路である。停電監視回路30bは、電源部30aから出力される最も大きい電圧である直流安定24ボルトの電圧を監視し、この電圧が22ボルト未満になった場合に停電(電源断)の発生と判断して、停電信号31を主制御基板C及び払出制御基板Hへ出力するように構成されている。この停電信号31の出力によって、主制御基板C及び払出制御基板Hは、停電の発生を認識し、停電時処理(主制御基板Cの場合は図4のNMI割込処理)を実行する。なお、電源部30aは、直流安定24ボルトの電圧が22ボルト未満になった後においても、かかる停電時処理の実行に充分な時間の間、制御系の駆動電圧である5ボルトの出力を正常値に維持するように構成されているので、主制御基板C及び払出制御基板Hは、停電時処理を正常に実行することができるのである。
【0018】
クリアスイッチ30cは、主制御基板CのユーザワークRAM54および払出制御基板HのRAM(図示せず)にバックアップされているデータをクリアするためのスイッチであり、押しボタンタイプのスイッチで構成されている。このクリアスイッチ30cが押下された状態でパチンコ機Pの電源が投入されると(停電解消による電源入を含む)、主制御基板Cおよび払出制御基板Hへクリア信号32がそれぞれ出力され、そのクリア信号32を契機として、それぞれのユーザワークRAM54のデータがクリアされる。なお、この場合、乱数カウンタ54bの値はクリアされるので、かかる乱数カウンタ54bの更新の初期値は、ID用RAM64に記憶される固有コードメモリ64aの値(固有コード)を利用してパチンコ機毎に異なる値に設定される。
【0019】
次に図3を参照して、主制御基板Cに搭載されるワンチップマイコンとしてのMPU11について説明する。図3は、MPU11の電気的構成を示すブロック図である。同図に示すように、MPU11には、中央処理装置(CPU)51を中心にして、プログラムROM52、HWパラメータ53、ユーザワークRAM54、内部I/Oブロック55、I/Oポート56等が備えられており、これらは互いにバス57によって接続されている。また、これらはバスモニタ58を介して管理ブロック59に接続されている。CPU51は、アキュームレータ(Acc)をはじめ、B、C、D、E、H、Lの各レジスタ、IX、IYの16ビットのインデックスレジスタ、フラグレジスタ等の各レジスタを備えている(図3には、IYレジスタ51aのみ図示している)。
【0020】
本実施例においてプログラムROM52は、ワンタイム書き込み型のEPROMにより構成され、ここに所定の制御プログラムや初期データが予め記憶されている。図4から図9に示すフローチャートのプログラムは、制御プログラムの一部としてこのプログラムROM52内に記憶されている。CPU51は、I/Oポート56を介して入力されてくる各種信号等に基づき前記プログラムROM52の制御プログラム等に従って各種演算処理を実行する。HWパラメータ53は書き換え可能な不揮発性のメモリであるEEPROMによって構成されており、クロック等に関する各種設定事項等が記憶されている。
【0021】
ユーザワークRAM54はCPU51による演算結果等の各種データを一時的に記憶するものであり、バックアップエリア54aと、乱数カウンタ54bと、現初期値メモリ54cとを備えている。また、ユーザワークRAM54には、パチンコ機Pの電源のオフ後においても、後述する電源基板30からバックアップ電圧が供給されており、データを保持(バックアップ)することができるように構成されている。なお、コンデンサや電池等を使用してユーザワークRAM54のデータをバックアップするように構成しても良い。
【0022】
バックアップエリア54aは、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアである。IYレジスタ51aの値も電源断時にこのバックアップエリアに記憶される。このバックアップエリア54aへの書き込みは、NMI割込処理(図4参照)によって電源切断時に実行され、逆にバックアップエリア54aに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)の初期化処理(図5参照)において実行される。なお、MPU11のNMI(Non Maskable Interrupt)端子(ノンマスカブル割込端子)には、停電等の発生による電源断時に、後述する停電監視回路30bから出力される停電信号31が入力されるように構成されており、停電の発生により、図4の停電時処理(NMI割込処理)が即座に実行される。
【0023】
乱数カウンタ54bは、大当たりの発生を決定するためのカウンタであり、後述する乱数更新処理(図9参照)によって、「0」〜「629」の範囲で2ms毎に1カウントずつ加算方向に更新される。この乱数カウンタ54bの値は、遊技盤1に打ち込まれた球が図柄作動口4へ入賞して後述する第1種始動口スイッチ20で検出されたとき(始動入賞時)に取得され、このとき取得された乱数カウンタ54bの値が例えば「7」または「315」であった場合には、大当たりが発生する。大当たりが発生すると、大当たりコマンドが主制御基板Cから後述する表示用制御基板Dへ送信され、表示用制御基板Dは、その大当たりコマンドに基づいてLCD3の変動表示と音声ランプ制御基板Sの制御とを行う。
【0024】
なお、乱数カウンタ54bの値は、上述したように、電源基板30から供給されるバックアップ電圧により、電源のオフ後においても保持(バックアップ)されている。よって、電源投入時には、そのバックアップされた値から乱数カウンタ54bの更新を再開することができるので、乱数カウンタ54bの更新の初期値が固定値となることを回避して、乱数カウンタ54bのランダム性を確保することができる。
【0025】
一方、バックアップ不良等により乱数カウンタ54bの値が適正に保持されなかった場合や、クリアスイッチ30cの押下により乱数カウンタ54bの値がクリアされた場合には、図6に示すRAMクリア及び初期化処理において、後述する固有コードメモリ64aの値を利用して各パチンコ機毎に異なる初期値が生成される。よって、乱数カウンタ54bの値がクリア等された場合においても、乱数カウンタ54bの更新の初期値が「0」等の固定値となることを回避して、乱数カウンタ54bのランダム性が低下すること防止することができる。例えば、不正に乱数カウンタ54bの値をクリアして大当たりを不当に発生させる不正行為に対しては、クリア後の乱数カウンタ54bの更新の初期値を各パチンコ機毎に異ならせることができるので、その初期値の把握を困難なものとして、かかる不正行為を抑制することができる。
【0026】
なお、固有コードメモリ64aの値に基づいて生成されるランダムな値(初期値)は、乱数カウンタ54bの値がクリア等された後の1周期目(最初)の更新の初期値にのみ使用され、2周期目以降の更新の初期値には、IYレジスタ51aの値が使用される。
【0027】
現初期値メモリ54cは、更新中の乱数カウンタ54bの初期値を記憶するためのメモリであり、CPU51のIYレジスタ51aは、乱数カウンタ54bの次回の更新の初期値を記憶するためのメモリ(レジスタ)である。現初期値メモリ54c及びIYレジスタ51aは、いずれも乱数カウンタ54bの更新範囲と同じ「0」〜「629」の範囲が適正な更新範囲内の値とされている。IYレジスタ51aについては、INT割込処理(図8参照)のみならず、メイン処理(図5参照)においても更新されており、メイン処理においては適正な更新範囲を考慮することなく、1カウントずつアップされるので、IYレジスタ51aは、INT割込処理の乱数更新処理(S52、図9参照)において、適正な更新範囲内の値に補正された後に、乱数カウンタ54bの次回の更新の初期値として使用される。また、IYレジスタ51aの更新は、メイン処理のS21の処理において繰り返し実行される。かかる処理は、定期的に実行されるINT割込処理の制御の残余時間において実行される。残余時間は、遊技の状態に応じて変化する不定な時間であるため、IYレジスタ51aの値は、ランダムに更新される。よって、かかるIYレジスタ51aの値を乱数カウンタ54bの更新の初期値として使用することにより、乱数カウンタ54bの更新の初期値をランダムに変更することができる。
【0028】
内部I/Oブロック55は、カウンタ・タイマ、割込みコントローラ及び高速HWカウンタ等の機能ブロックにより構成されている。バスモニタ58は、データの入出力を管理するものであり、このバスモニタ58によって、CPU51の演算データ等が管理ブロック59へ出力され、また、管理ブロック59の内容(例えば、固有コードメモリ64aの値)がCPU51の要求に応じてユーザワークRAM54等へ出力される。
【0029】
管理ブロック59は、独立記憶部を構成し、検査ポート61並びにミラードRAM62、ステータスRAM63及びID用RAM64等を備えている。検査ポート61は書込みエラーや、シーケンス異常等を検出可能となっており、ミラードRAM62はユーザワークRAM54のデータをミラーリング(複写)するものである。また、ステータスRAM63には、HWパラメータ53の設定事項等が書き込まれる。
【0030】
ID用RAM64には、固有コードメモリ64aが設けられており、この固有コードメモリ64aには、MPU11に固有(即ち、パチンコ機固有)の識別番号(識別情報)としての値(固有コード)が書き込まれている。この固有コードメモリ64aの値は、パチンコ機Pのセキュリティー情報としての役割を担っており、各MPU毎に異なるユニークな番号で構成されている。MPU11の検査ポート61には、モジュラージャック(図示せず)が接続可能に構成されており、このモジュラージャックを介してチェッカー(図示せず)をMPU11に接続することができる。よって、固有コードメモリ64aの値を外部から読み出して真贋の照合をすることができるので、MPU11のセキュリティーチェックを行うことができる。従って、かかる固有コードメモリ64aの値等を不正に書き換えたり、MPU11を不正なMPUに交換するという不正行為を実行困難なものとして、その不正行為を抑制することができる。
【0031】
この固有コードメモリ64aの値(固有コード)は、図6のRAMクリア及び初期化処理において読み出され、乱数カウンタ54bの更新の初期値を生成する際に使用される。上述したように、固有コードメモリ64aの値は、パチンコ機毎に異なるユニークな番号から構成されているので、この固有コードメモリ64aの値を利用して生成される乱数カウンタ54bの更新の初期値は、パチンコ機毎に異なる不定な値となり、その結果、乱数カウンタ54bのランダム性を不当に低下させて大当たりを発生させる等の不正行為を抑制することができる。なお、ID用RAM64には、固有コードメモリ64aの他にパチンコ機Pの製造メーカコードや機種コード等を記憶するメモリ(図示せず)も設けられている。
【0032】
次に、上記のように構成されたパチンコ機Pで実行される各処理を、図4から図9の各フローチャートを参照して説明する。図4は、停電の発生等によるパチンコ機Pの電源断時に、主制御基板Cで実行されるNMI割込処理を示すフローチャートである。このNMI割込処理により、停電の発生等による電源断時の主制御基板Cの状態がバックアップエリア54aに記憶される。
【0033】
停電の発生等によりパチンコ機Pの電源が断されると、停電監視回路30bから停電信号31が主制御基板CのMPU11のNMI(Non Maskable Interrupt)端子へ出力される。すると、MPU11は、実行中の制御を中断して、図4のNMI割込処理を開始する。停電信号31が出力された後所定時間は、主制御基板Cの処理が実行可能なように電源基板30の電源部30aから電力供給がなされており、この所定時間内にNMI割込処理が実行される。
【0034】
NMI割込処理では、まず、各レジスタおよびI/O等の値をスタックエリアへ書き込み(S1)、次に、スタックポインタの値をバックアップエリア54aへ書き込んで退避する(S2)。更に、停電発生情報をバックアップエリア54aへ書き込んで(S3)、停電の発生等による電源断時の状態を記憶する。その後、その他停電処理を実行した後(S4)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
【0035】
図5は、パチンコ機Pの電源入時に主制御基板Cで実行されるメイン処理のフローチャートである。メイン処理では、バックアップが有効であれば、バックアップエリア54aに記憶された各データを元の状態に戻し、遊技の制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ30cが押下された場合には、RAMクリア及び初期化処理(S18)を実行して、パチンコ機Pを初期化する。
【0036】
まず、割込を禁止し(S11)、スタックポインタを設定する(S12)。クリアスイッチ30cがオンされているか否かを確認し(S13)、オンされていなければ(S13:No)、バックアップが有効であるか否かを確認する(S14)。この確認は、ユーザワークRAM54の所定のエリアに書き込まれたキーワードが正しく記憶されているか否かにより判断する。キーワードが正しく記憶されていればバックアップは有効であり、逆に、キーワードが正しくなければバックアップデータは破壊されているので、そのバックアップは有効ではない。バックアップが有効であれば(S14:Yes)、処理をS15へ移行して、主制御基板Cの各状態を電源断前の状態に復帰させる。即ち、バックアップエリア54aからスタックポインタの値を読み出して、これをスタックポインタへ書き込み、電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S15)。次に、スタックポインタの値を戻した後のスタックエリア、即ちバックアップエリア54aへ退避した各レジスタやI/O等のデータをそのバックアップエリア54aから読み出して、これら各データを元のレジスタやI/O等へ書き込み(S16)、その後、割込の状態を停電発生時に実行される図4の処理で記憶しておいた電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻し(S17)、NMI割込リターンを実行して処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
【0037】
一方、クリアスイッチ30cがオンされていたり(S13:Yes)、或いはバックアップが有効でなければ(S14:No)、RAMクリア及び初期化処理を実行する(S18)。その後、タイマ割込等の各割込の設定を行って(S19)、割込が発生可能な状態にした上で、割込を許可する(S20)。割込の許可後は、図8のINT割込処理の実行の合間(INT割込処理の実行の残余時間)に、S21及びS22の処理を繰り返し実行する。
【0038】
S21の処理は、IYレジスタ51aのインクリメント処理(S21)であり、この処理の実行の度にIYレジスタ51aの値は「+1」される。S21の処理は、MPU11の1命令で実行されるので、その実行途中でINT割込処理などの他の割込処理が実行されることはない。よって、S21の処理によるIYレジスタ51aの値(カウント値)の更新を途中で途切れさせること無く完了することができる。また、かかる更新は、IYレジスタ51aの値を他のレジスタ(ALU等のソフト制御の範疇外のものは除く)やメモリに移動した上で、IYレジスタ51aの値の更新を行い、その更新後の値をIYレジスタ51aへ戻して、該更新を完了するのではないので、この点においても、例えIYレジスタ51aの更新処理が並行して行われても、IYレジスタ51aの値を的確に更新することができる。IYレジスタ51aは、16ビットレジスタで構成されている。よって、IYレジスタ51aの値が「0FFFFh」の状態でS21の処理が実行されると、IYレジスタ51aの値は「0」となる。
【0039】
ここで、IYレジスタ51aは、大当たりを決定するための乱数カウンタ54bの更新の初期値を記憶するレジスタとして使用される(乱数カウンタ54bの更新の初期値をカウントするカウンタとして使用される)。また、その他ランダム処理(S22)は、遊技の制御に当たって所定のデータにランダム性を持たせるための更新処理である。上述する通りこれらの処理は、割込の実行されない不定な時間を利用して繰り返し実行されるので、これらの処理の対象となるデータは、結果的にランダムな値となる。よって、S20およびS21の各処理を繰り返し実行することにより、乱数カウンタの更新の初期値等をランダムな値にすることができる。
【0040】
なお、本実施例の乱数カウンタ54bは「0〜629」の範囲で更新されるので、INT割込処理の実行によってIYレジスタ51aの値が最大値である「629」に更新されている場合にも、S21の処理によってIYレジスタ51aの値が「0」に更新されるまでに、次のINT割込処理が実行されるように、INT割込処理の最短実行時間とS21及びS22の合計最短実行時間とに基づいて、INT割込処理の実行間隔が決められている。即ち、「629」から「0FFFFh(=65535)」になるまでの64906回のS21及びS22の処理が実行される迄の間に、遅くとも次のINT割込処理が実行されるように、本実施例ではINT割込処理の実行間隔は2msとされている。このように構成することにより、IYレジスタ51aの値を更新範囲のチェックをせずに繰り返し「+1」更新しても、INT割込処理内で実行されるIYレジスタ補正処理(図7参照)によって、その値を適正な更新範囲内の値に補正することができる。よって、メイン処理でのIYレジスタ51aの更新を無意味なものとすることなく、有効に利用することができる。
【0041】
図6は、主制御基板Cのメイン処理の中で実行されるRAMクリア及び初期化処理(S18)を示すフローチャートである。この処理は、ユーザワークRAM54および各I/Oの値を初期化すると共に、固有コードメモリ64aの値(固有コード)を利用して乱数カウンタ54bの更新の初期値を生成することにより、パチンコ機毎に異なる乱数カウンタの54bの更新の初期値を生成する為の処理である。
【0042】
このRAMクリア及び初期化処理では、まず、ユーザワークRAM54の各値を「0」クリアし、ユーザワークRAM54および各I/O等の初期値を設定する(S31)。ここで、従来のパチンコ機では、この「0」クリアされた値を初期値として乱数カウンタの更新を開始していたため、その更新の初期値が固定値(ここでは、「0」)となり、乱数カウンタのランダム性の低下を招いていた。そこで、本実施例のパチンコ機Pでは、以下に説明する処理によって乱数カウンタ54bの更新の初期値をランダムに生成し、かかる乱数カウンタ54bのランダム性の低下を防止している。
【0043】
即ち、S31の処理後は、まず、ID用RAM64の固有コードメモリ64aの値をリードして(S32)、そのリードした値をIYレジスタ51aへ書き込む(S33)。固有コードメモリ64aの値は、上述したように、MPU11に固有のユニークな番号であるので、S33では、同一機種のパチンコ機においても、全てのパチンコ機毎に異なる値がIYレジスタ51aへ書き込まれる。なお、固有コードメモリ64aの値が2バイト以上で構成される場合には、本実施例では下位2バイトのデータをIYレジスタ51aへ書き込むが、2バイト以上の固有コードメモリ64aの値を2バイトのデータに加工して、その加工した値をIYレジスタ51aへ書き込むようにしても良い。また、下位以外の2バイトのデータをIYレジスタ51aへ書き込むように構成しても良い。
【0044】
次いで、図7に示すIYレジスタ補正処理(S34)によって、IYレジスタ51aの値を乱数カウンタ54bの適正な更新範囲内の値(本実施例では「0〜629」)に加工(補正)する。IYレジスタ51aへ書き込まれたデータは、必ずしも乱数カウンタ54bの適正な更新範囲内のデータであるとは限らないからである。
【0045】
図7に示すように、IYレジスタ補正処理では、まず、IYレジスタ51aの値が適正な更新範囲の最大値である「629」以下であるか否かを確認する(S41)。IYレジスタ51aの値が「630」以上であれば(S41:No)、その値は乱数カウンタ54bの適正な更新範囲の値を超えているので、この場合には、IYレジスタ51aの値から更新範囲の最大値+1である「630」を減算する(S42)。減算の結果、IYレジスタ51aの値が「629」以下になっていれば(S41:Yes)、IYレジスタ51aの値の補正を終了し、このIYレジスタ補正処理を終了する。一方、減算してもなおIYレジスタ51aの値が「630」以上であれば(S41:No)、IYレジスタ51aの値が「629」以下になるまで、その値から「630」の減算処理を繰り返す。このように、IYレジスタ51aの値は、IYレジスタ補正処理(S34)によって、乱数カウンタ54bの適正な更新範囲内の値(本実施例では「0〜629」)に補正される。
【0046】
図6に戻って説明する。IYレジスタ補正処理によって、IYレジスタ51aの値が適正な更新範囲内の値となると、そのIYレジスタ51aの値を乱数カウンタ54b及び現初期値メモリ54cへ書き込んで(S35、S36)、乱数カウンタ54b及び現初期値メモリ54cの更新の初期値を設定する。なお、乱数カウンタ54bは、このS35の処理によって設定された値を更新の初期値として、後述する乱数更新処理(S52、図9参照)により1周期目の更新を開始する。
【0047】
このように、乱数カウンタ54bの更新の初期値には、固有コードメモリ64aの値(即ち、IYレジスタ51aに書き込まれた値)を加工(補正)して生成されたランダムな値が設定される。バックアップ不良等により乱数カウンタ54bの値が適正に保持されなかった場合や、クリアスイッチ30cの押下により乱数カウンタ54bの値がクリアされた場合には、このランダムに生成された初期値から乱数カウンタ54bの更新が開始されるので、かかる乱数カウンタ54bの更新が「0」等の固定値から開始されることを回避して、乱数カウンタ54bのランダム性の低下を抑制することができるのである。
【0048】
ここで、例えば、主制御基板Cと他の基板(例えば、電源基板30)等との間に、不正な基板(例えば、いわゆる「ぶら下がり基板」等)を取り付けて、その基板から不正に生成した信号(例えば、停電信号31)を主制御基板Cへ出力する不正行為が考えられる。例えば、不正に生成した停電信号を連続的に主制御基板Cへ出力して、停電時処理を頻発させると、主制御基板C(MPU11)は、停電時処理を正常に実行することができなくなり、遊技状態が初期化(ユーザワークRAM54が初期化)されてしまう。このようにすることで、乱数カウンタ54bの更新を「0」等の固定値から開始させ、乱数カウンタ54bのランダム性を不当に低下させるのである。
【0049】
しかしながら、本実施例の遊技機Pによれば、乱数カウンタ54bの更新の初期値は、固有コードメモリ64aの値(固有コード)に基づいて生成されるため、パチンコ機毎に異なるランダムな値である。よって、不正行為を行う者(不正な基板)は、第1種始動口スイッチ20の検出信号を不正に生成し、その不正に生成した検出信号を大当たりのタイミングで出力しようとしても、乱数カウンタ54bの値を把握することができないので、大当たりを不正に発生させることができない。従って、いわゆる「ぶら下げ基板」等によって大当たりを不当に発生させる等の不正行為を防止することができるのである。
【0050】
なお、パチンコ機Pを不正に入手して、そのパチンコ機Pが備えるMPU11の固有コードメモリ64aの値(固有コード)を解読すると共に、プログラムROM52に記憶された制御プログラムを解析することにより、乱数カウンタ54bの更新の初期値を取得(把握)することはできる。しかし、この不正に取得した乱数カウンタ54bの更新の初期値は、入手したパチンコ機P自体でのみ発生する値であり、他のパチンコ機では(パチンコ機毎に固有コードが異なるため)それとは異なる初期値が発生する。そのため、同一機種のパチンコ機においても、各パチンコ機毎に個別に固有コードを解読しなければ不正行為を働くことができず、その結果、かかる不正行為を極めて困難なものとすることができるのである。
【0051】
図8は、パチンコ機Pの主制御基板Cにおいて定期的(例えば2ms毎)に実行されるインターバル割込処理(INT割込処理)のフローチャートである。パチンコ機Pの主な制御は、このINT割込処理によって実行される。INT割込処理では、まず、特別図柄変動処理(S59)や表示・ランプ・効果音データ作成処理(S61)などにより、前回のINT割込処理で作成されたコマンド等のデータを各ポートへ出力するポート出力処理を実行する(S51)。
【0052】
次に、大当たりを決定するための乱数カウンタ54bの値などを「+1」更新する乱数更新処理(S52、図9を参照しつつ後述する)を実行し、記憶タイマ減算処理を実行する(S53)。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、LCD3において図柄の変動表示中である場合に、図柄の変動表示の時間短縮を行うものである。スイッチ監視処理(S54)は、読み込まれた各スイッチの状態に応じて、遊技領域へ打ち込まれた球の入賞口2や大入賞口5、図柄作動口4への入賞、ゲート7への通過等に関する処理を行うものである。図柄カウンタ更新処理(S55)では、LCD3で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理(S56)では、図柄カウンタ更新処理(S55)で更新されたカウンタの値に基づいて、特別図柄変動処理(S59)で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。
【0053】
普通図柄変動処理(S57)によって、「○」と「×」との2つのLED6a,6bで構成された普通図柄表示装置6の変動表示を行うと共に、その変動表示の結果、「○」のLED6aで変動表示が終了した場合には当たりとなって普通電動役物(図柄作動口)4を所定時間(例えば0.5秒)開放する当たり処理を実行する。その後、状態フラグをチェックし(S58)、LCD3において特別図柄の変動開始または変動表示中であれば(S58:図柄変動中)、特別図柄変動処理(S59)によって、球が図柄作動口4を通過するタイミングで読み取った乱数カウンタ54bの値に基づいて、大当たりか否かの判定が行われると共に、LCD3において特別図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば(S58:大当り中)、大入賞口5を開放するなどの大当たり処理(S60)を実行する。更に、状態フラグをチェックした結果、特別図柄の変動中でも大当たり中でもなければ(S58:その他)、S59及びS60の処理をスキップして、S61の表示・ランプ・効果音データ作成処理へ移行する。
【0054】
表示・ランプ・効果音データ作成処理(S61)では、特別図柄の変動表示以外にLCD3に表示されるデモデータや、普通図柄表示装置6の2つのLED6a,6bの表示データ、保留球ランプをはじめとした各種のランプデータ、遊技の状況に応じた効果音データなどが作成される。なお、これらの表示データ、ランプデータ及び効果音データは、前記したポート出力処理(S51)によってコマンドデータとして表示用制御基板Dへ出力される。表示用制御基板Dでは、そのコマンドデータを解読して、LCD3や普通図柄表示装置6の表示制御に使用すると共に、音声ランプ制御基板Sへのコマンドデータを作成して、これを音声ランプ制御基板Sへ出力して、ランプやLED及び効果音の出力制御をコントロールする。表示・ランプ・効果音データ作成処理(S61)の終了後は、このINT割込処理を終了する。その後は、INT割込処理の実行直前に実行されていたメイン処理(図5)の直後に戻ってメイン処理を続行する。そして、前回のINT割込処理の実行から所定時間(例えば2ms)が経過すると、次のINT割込処理が実行される。
【0055】
次に、図9を参照してINT割込処理の中で実行される乱数更新処理(S52)を説明する。図9は、主制御基板CのINT割込処理の中で実行される乱数更新処理(S52)を示すフローチャートである。この処理では、IYレジスタ51aの値を「+1」ずつ更新すると共に、その更新後のIYレジスタ51aの値を適正な更新範囲内の値である「0〜629」の値に補正する。また、乱数カウンタ54bの値を「0」〜「629」の範囲内で「+1」ずつ更新している。
【0056】
まず、IYレジスタ51aのインクリメント処理を行い(S71)、IYレジスタ51aの値を「+1」する。前述した通り、IYレジスタ51aの値は、メイン処理において、INT割込処理の残余時間の間に絶えず「+1」更新されているので、S71の処理で「+1」更新したIYレジスタ51aの値は適正な更新範囲内の値である「0〜629」を超えている場合がある。そこで、IYレジスタ51aのインクリメント処理後は、IYレジスタ補正処理(S72)を実行して、更新後のIYレジスタ51aの値を適正な更新範囲内の値に戻す。なお、IYレジスタ補正処理(S72)は、前述した図7の処理と同一であるので、その説明は省略する。
【0057】
次に、乱数カウンタ54bの値を1加算し(S73)、加算後の乱数カウンタ54bの値が「630」以上であるか否か、即ち、乱数カウンタ54bの適正な更新範囲の値を超えているか否かを調べる(S74)。加算後の乱数カウンタ54bの値が「630」以上であれば(S74:Yes)、適正な更新範囲の値を超えているので、乱数カウンタ54bの値を「0」クリアする(S75)。一方、加算後の乱数カウンタ54bの値が「629」以下であれば(S74:No)、適正な更新範囲内の値であるので、加算後の値を維持すべくS75の処理をスキップして、S76の処理へ移行する。
【0058】
S76の処理では、更新後の乱数カウンタ54bの値と現初期値メモリ54cの値とが比較される。現初期値メモリ54cには現在更新中の乱数カウンタ54bの更新の初期値が記憶されているので、両値が等しい場合には(S76:Yes)、乱数カウンタ54bの更新は一回り終了したということである。よって、かかる場合には、乱数カウンタ54bの次回の更新の初期値を記憶するIYレジスタ51aの値を乱数カウンタ54b及び現初期値メモリ54cへ書き込み(S77、S78)、乱数カウンタ54bの更新の初期値を変更する。
【0059】
このように、乱数カウンタ54bは、一回りの更新が終了する毎にその更新の初期値を変更するため、乱数の一様性(連続で取得した場合に同じ値をとることがなく、しかも、すべての値が同じ確率で取り出せること)のある乱数値を得ることができる。更に、その更新の初期値であるIYレジスタ51aの値は、前述した通り、遊技の状態に応じて変化する不定な時間を使用して更新される為、乱数カウンタ54bの更新の初期値をランダムに変更することができる。
【0060】
一方、更新後の乱数カウンタ54bの値と現初期値メモリ54cの値とが等しくない場合には(S76:No)、乱数カウンタ54bの更新は未だ一回り終了していないので、S77及びS78の処理をスキップすることにより乱数カウンタ54b及び現初期値メモリ54cの値を維持する。その後は、他の乱数の更新処理(S79)を実行して、この乱数カウンタ更新処理を終了する。
【0061】
以上説明したように、本実施例のパチンコ機Pによれば、大当たりを決定する乱数カウンタ54bの初期値をカウントするIYレジスタ51aは、INT割込処理(図8参照)において定期的に更新されるだけでなく、メイン処理(図5参照)においては、INT割込処理の残余時間を利用して更新される。かかる残余時間は遊技の制御状態に応じて変化する時間なので、IYレジスタ51aの値を、確実に更新され且つランダム性の付与されたものとして、乱数カウンタ54bの更新の初期値として使用することができる。
【0062】
また、IYレジスタ51aの更新は、メイン処理とINT割込処理との2つの異なった処理で行われるが、その更新は1命令で行われるので、両処理の実行タイミングの如何に拘わらず、更新結果を無意味なのもとすることなく、有効に利用することができる。更に、ユーザワークRAM54上のメモリを使用することなく、CPU51の内部レジスタであって、比較的使用頻度の少ないインデックスレジスタであるIYレジスタ51aを使用しているので、その分、メモリの使用効率をも向上することができる。しかも、IYレジスタ51aは、16ビットで更新が可能であるので、「256」を超えた更新範囲を有する乱数カウンタ54bの更新の初期値をカウントするカウンタとして好適である。
【0063】
更に、乱数更新処理(図9参照)では、IYレジスタ51aの値を適正な更新範囲内の値に補正した後に、乱数カウンタ54bの更新の初期値として使用しているので、メイン処理において、IYレジスタ51aを更新範囲のチェックをせずに「+1」更新しても、IYレジスタ51aの値を的確に使用することができる。言い換えれば、メイン処理において、IYレジスタ51aの値が適正な更新範囲内にあるか否かをチェックしながら1命令で更新することはできないので、メイン処理ではIYレジスタ51aの値を1命令で「+1」更新のみし、IYレジスタ51aの値を使用するINT割込処理において、そのIYレジスタ51aの値の使用前に、その値を適正な更新範囲内の値に補正しているのである。更に、IYレジスタ51aの値の補正が的確に行われるように、メイン処理の更新でIYレジスタ51aの値が「0」にならないように、INT割込処理の最短処理時間とS21及びS22の合計最短処理時間とにより、INT割込処理の実行間隔が決められているので(本実施例では、その結果、INT割込処理は2ms毎に実行される)、IYレジスタ補正処理(図7参照)によって、更新されたカウント値をロスすることなく、IYレジスタ51aの値を適正な更新範囲内の値に補正することができる。
【0064】
次に、図10を参照して第2実施例のIYレジスタ補正処理を説明する。第2実施例のIYレジスタ補正処理は、まず、IYレジスタ51aの値が適正な更新範囲の最大値である「629」以下であるか否かを確認する(S81)。IYレジスタ51aの値が「629」以下であれば(S81:Yes)、IYレジスタ51aは適正な更新範囲内の値であるので、その値を補正すること無く、IYレジスタ補正処理を終了する。一方、IYレジスタ51aの値が「630」以上であれば(S81:No)、その値は乱数カウンタ54bの適正な更新範囲の値を超えているので、この場合には、IYレジスタ51aの値を更新範囲の最大値+1である「630」で除算する(S82)。除算した余りをIYレジスタ51aへ書き込んで(S83)、これをIYレジスタ51aの値とし、このIYレジスタ補正処理を終了する。なお、この図10の処理においては、S81の処理を削除して構成するようにしても良い。
【0065】
以上説明した各実施例において、請求項1記載の制御手段としては、主制御基板Cが該当し、乱数カウンタ更新手段としては、図8のINT割込処理のS52の乱数更新処理が該当し、初期値変更手段としては、図9の乱数更新処理のS77の処理が該当し、初期値生成手段としては、図5のメイン処理のS21の処理および図9の乱数更新処理のS71の処理が該当し、書込手段としては、図4のNMI割込処理が該当する。
【0066】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0067】
例えば、上記実施例では、カウンタとしてIYレジスタ51aを用いた、必ずしもIYレジスタ51aに限定されるものではなく、IYレジスタ51aに代えて、IXレジスタやBCレジスタ、DEレジスタ、HLレジスタなどをカウンタとして使用しても良い。また、レジスタに代えて、例えばユーザワークRAM54等のRAM上のメモリをカウンタとして使用しても良い。かかる場合には、メイン処理におけるカウンタ値の更新は、1命令で実行するか、或いは、1命令で実行できない場合には更新自体をそのメモリ上で行うようにする。更に、本実施例におけるカウント値の更新(IYレジスタ51aの値の更新)は、インクリメント命令(INC)により「+1」ずつの加算方向に行われたが、インクリメント命令に代えて、デクリメント命令(DEC)を使用して「−1」ずつの減算方向に行うようにしても良い。かかる場合には、カウント値の補正処理をカウント方式に併せて修正する。
【0068】
また、本発明のカウンタは、必ずしも乱数カウンタ54bの更新の初期値をカウントするカウンタとして使用する必要はない。よって、例えば、本発明のカウンタを、乱数カウンタ54b自体として使用しても良いし、図柄カウンタやリーチカウンタのように、ランダム性を必要とする他のカウンタとして使用するようにしても良い。
【0069】
本発明を上記実施例とは異なるタイプのパチンコ機等に実施しても良い。例えば、一度大当たりすると、それを含めて複数回(例えば2回、3回)大当たり状態が発生するまで、大当たり期待値が高められるようなパチンコ機(通称、2回権利物、3回権利物と称される)として実施しても良い。また、大当たり図柄が表示された後に、所定の領域に球を入賞させることを必要条件として特別遊技状態となるパチンコ機として実施しても良い。更に、パチンコ機以外にも、アレパチ、雀球、スロットマシン、いわゆるパチンコ機とスロットマシンとが融合した遊技機などの各種遊技機として実施するようにしても良い。
【0070】
なお、スロットマシンは、例えばコインを投入して図柄有効ラインを決定させた状態で操作レバーを操作することにより図柄が変動され、ストップボタンを操作することにより図柄が停止されて確定される周知のものである。従って、スロットマシンの基本概念としては、「複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して図柄の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄が特定図柄であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備えたスロットマシン」となり、この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
【0071】
また、パチンコ機とスロットマシンとが融合した遊技機の具体例としては、複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備えており、球打出用のハンドルを備えていないものが挙げられる。この場合、所定の操作(ボタン操作)に基づく所定量の球の投入の後、例えば操作レバーの操作に起因して図柄の変動が開始され、例えばストップボタンの操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄がいわゆる大当たり図柄であることを必要条件として遊技者に有利な大当たり状態が発生させられ、遊技者には、下部の受皿に多量の球が払い出されるものである。
【0072】
以下に本発明の変形例を示す。カウンタと、そのカウンタの値を更新する第1制御手段と、その第1制御手段の実行を中断して制御を実行する第2制御手段と、前記第1及び第2制御手段を有し前記カウンタの値を所定条件下において遊技の制御に使用する制御手段とを備えた遊技機において、前記第1制御手段は、前記カウンタの値を直接更新するものであり、前記第2制御手段は、前記第1制御手段とは別に前記カウンタの値を更新すると共に、そのカウンタの値を適正な更新範囲内の値に補正する補正手段を備えていることを特徴とする遊技機1。カウンタの値を直接更新するとは、そのカウンタ以外の他のレジスタやメモリを使用することなく直接カウンタの値を更新することをいい、例えば、カウンタの値を、一旦他のレジスタ(CPU内のALU等のソフト制御の範疇外のものは除く)やメモリへロードし、そのレジスタやメモリで更新しその更新した値を該カウンタへ書き戻すことによって更新することではない意である。
【0073】
遊技機1によれば、1のカウンタは、第1制御手段と、その第1制御手段の実行を中断して実行される第2制御手段との2つの制御手段によって更新される。第2制御手段は、第1制御手段の実行タイミングに拘わらず、第1制御手段の実行を中断して制御を実行し、その制御の中でカウンタの更新を行う。よって、第1制御手段がカウンタの更新を次のように行う場合、第2制御手段の実行タイミング如何によっては、カウンタの更新に支障を来してしまう。即ち、カウンタの値を、一旦、他のレジスタやメモリへロードし(ステップ1)、そのレジスタまたはメモリ内でカウント値を更新し(ステップ2)、更新されたカウント値をカウンタへロードする(戻す)(ステップ3)ことにより、カウンタの更新を行う場合、ステップ1の実行後からステップ3の実行前に第2制御手段が実行されてカウント値の更新が行われると、第2制御手段の実行後に第1制御手段のステップ3が実行されるので、折角、第2制御手段でカウント値の更新を行っても、第1制御手段によってカウント値は元の値に戻されてしまう。これに対し遊技機1では、第1制御手段はカウンタの値を直接更新するので、第2制御手段が如何なるタイミングで実行されても、その第2制御手段で更新後のカウント値を元に戻してしまうことはない。即ち、第1制御手段は、第2制御手段で更新されたカウント値を引き続き継続して更新することができる。よって、遊技機1によれば、1のカウンタを第1制御手段と第2制御手段との2つの制御手段で別々に更新する場合であっても、カウンタの値を引き続き継続して更新することができる。また、第2制御手段は、カウンタの値を適正な更新範囲内の値に補正する補正手段を備えているので、第1制御手段によるカウンタの値の更新がカウンタの適正な更新範囲を超えるものとなっても、第2制御手段の実行により、カウンタの値を適正な更新範囲内の値に補正することができる。なお、第2制御手段によるカウンタの値の更新方式は、必ずしも第1制御手段の更新方式と同一である必要はなく、異なった更新方式であっても良い。
【0074】
遊技機1において、前記第1制御手段は、前記カウンタの値を1命令で直接更新するものであることを特徴とする遊技機2。
【0075】
請求項1記載の遊技機または遊技機1若しくは2において、前記第1制御手段は、前記カウンタの値がその適正な更新範囲を超える場合にもそのカウンタの値の更新を継続するように構成され、前記第2制御手段は、前記補正手段によって前記カウンタの値を適正な更新範囲内の値に補正した後でそのカウンタの値を遊技の制御に使用するものであることを特徴とする遊技機3。カウンタの値は、適正な更新範囲を超える場合であっても、第1制御手段によって更新されるが、その値は第2制御手段によって適正な更新範囲内の値に補正され、その補正後のカウンタの値が第2制御手段によって遊技の制御に使用される。よって、第1制御手段によって適正な更新範囲内の値を超えてカウンタの値を更新しても、遊技の制御には適正な更新範囲内の値として使用することができる。
【0076】
請求項1記載の遊技機または遊技機1から3のいずれかにおいて、前記第1及び第2制御手段によるカウンタの更新は増加方向に行われ、前記第2制御手段の補正手段は、前記カウンタの値が適正な更新範囲内の値にない場合(適正な更新範囲の値を超えている場合)に、そのカウンタの値を更新範囲数で減算し、その差が更新範囲内の値になるまで該減算を繰り返して、最終的な差を前記カウンタの値とするものであることを特徴とする遊技機4。なお、更新範囲数とは、例えば、カウンタが「0〜x」の範囲で更新される場合には「x+1」をいい、「1〜x」の範囲で更新される場合には「x」をいう。
【0077】
請求項1記載の遊技機または遊技機1から3のいずれかにおいて、前記第1及び第2制御手段によるカウンタの更新は増加方向に行われ、前記第2制御手段の補正手段は、前記カウンタの値を更新範囲数で除算し、その余りを前記カウンタの値とするものであることを特徴とする遊技機5。なお、カウンタの値の除算は、そのカウンタの値が適正な更新範囲内の値にあるか否かを判断した上で、カウンタの値が適正な更新範囲内の値にない場合(適正な更新範囲の値を超えている場合)に限って行うように構成しても良い。また、更新範囲数とは、例えば、カウンタが「0〜x」の範囲で更新される場合には「x+1」をいい、「1〜x」の範囲で更新される場合には「x」をいう。
【0078】
請求項1記載の遊技機または遊技機1から3のいずれかにおいて、前記第1及び第2制御手段によるカウンタの更新は減少方向に行われ、前記第2制御手段の補正手段は、前記カウンタの値が適正な更新範囲内の値にない場合(適正な更新範囲の値を超えている場合)に、そのカウンタの最大更新範囲からそのカウンタの値を減算した差が適正な更新範囲内の値であれば更にその差を適正な更新範囲の最大値から減算した差を前記カウンタの値とし、一方、前記カウンタの最大更新範囲からそのカウンタの値を減算した差が適正な更新範囲内の値でなければ更にその差を更新範囲数で減算しその差が更新範囲内の値になるまで該減算を繰り返して得た最終的な差を適正な更新範囲の最大値から減算してその差を前記カウンタの値とするものであることを特徴とする遊技機6。なお、更新範囲数とは、例えば、カウンタが「0〜x」の範囲で更新される場合には「x+1」をいい、「1〜x」の範囲で更新される場合には「x」をいう。また、カウンタの最大更新範囲とは、ハード的にそのカウンタの取り得る更新範囲をいい、遊技の制御に使用される適正な更新範囲より大きな範囲となっている。例えば、最大更新範囲は、カウンタが16ビットで構成される場合には0FFFFhとなり、カウンタが8ビットで構成される場合には0FFhとなる。
【0079】
請求項1記載の遊技機または遊技機1から6のいずれかにおいて、前記第2制御手段は、前記第1制御手段により前記カウンタの値の更新がそのカウンタの適正な更新範囲を超えて行われた場合には、その第1制御手段による更新で前記カウンタの値が適正な更新範囲内の値となる前までに、その第1制御手段の実行を中断して前記カウンタの値を適正な更新範囲内の値に補正するものであることを特徴とする遊技機7。よって、カウンタの最大更新範囲が前記更新範囲数の整数倍で構成されない場合にも、第1制御手段と第2制御手段とによって、カウンタの値を継続して更新することができる。なお、カウンタの最大更新範囲とは、ハード的にそのカウンタの取り得る更新範囲をいい、遊技の制御に使用される適正な更新範囲より大きな範囲となっている。例えば、最大更新範囲は、カウンタが16ビットで構成される場合には0FFFFhとなり、カウンタが8ビットで構成される場合には0FFhとなる。
【0080】
請求項1記載の遊技機または遊技機1から6のいずれかにおいて、前記第2制御手段は、前記第1制御手段により前記カウンタの値の更新がそのカウンタの最大更新範囲を超えて更新される前までに、その第1制御手段の実行を中断して前記カウンタの値を適正な更新範囲内の値に補正するものであることを特徴とする遊技機8。よって、カウンタの最大更新範囲が前記更新範囲数の整数倍で構成されない場合にも、第1制御手段と第2制御手段とによって、カウンタの値を継続して更新することができる。なお、カウンタの最大更新範囲とは、ハード的にそのカウンタの取り得る更新範囲をいい、遊技の制御に使用される適正な更新範囲より大きな範囲となっている。例えば、最大更新範囲は、カウンタが16ビットで構成される場合には0FFFFhとなり、カウンタが8ビットで構成される場合には0FFhとなる。
【0081】
請求項1記載の遊技機または遊技機1から8のいずれかにおいて、前記第2制御手段は定期的に実行される割込処理により構成され、前記第1制御手段は割込によらないメイン処理あるいは前記第2制御手段より割込優先順位の低い割込処理によって構成されていることを特徴とする遊技機9。遊技機9によれば、1の制御手段で、第1制御手段と第2制御手段との2の制御手段を実行することができる。
【0082】
請求項1記載の遊技機または遊技機1から9のいずれかにおいて、前記第2制御手段は定期的に実行されると共に、その実行時間は遊技の状態に応じて変化するように構成され、前記第1制御手段は、前記第2制御手段の実行後から次の第2制御手段が実行されるまでの残余時間を利用して前記カウンタの値を更新するものであることを特徴とする遊技機10。第2制御手段は定期的に実行され且つその実行時間は遊技の状態によって変化するので、第1制御手段によるカウンタの更新を第2制御手段の実行後の残余時間を利用して行うことにより、更新されるカウンタの値にランダム性を付与することができる。しかも、カウンタの値は第2制御手段によっても更新されるので、遊技の状態がいかなる場合においても、少なくとも定期的なカウンタの更新は継続することができる。
【0083】
請求項1記載の遊技機または遊技機1から10のいずれかにおいて、前記カウンタはCPUに内蔵のレジスタにより構成されることを特徴とする遊技機11。CPUに内蔵されるレジスタをカウンタに使用するので、その分、メモリの使用量を減少してメモリを有効利用することができる。なお、カウンタとして使用するレジスタとしては、一般的に使用頻度が少なく、且つ16ビットで構成されるインデックスレジスタIX,IYが好適である。
【0084】
請求項1記載の遊技機または遊技機1から11のいずれかにおいて、前記第2制御手段によって更新されると共に大当たりの発生を決定する乱数カウンタと、その乱数カウンタの更新の初期値を記憶する現初期値メモリとを有し、前記乱数カウンタの値が更新により前記現初期値メモリの値と一致した場合に、前記カウンタの値を前記乱数カウンタおよび前記現初期値メモリへ書き込んで前記乱数カウンタの更新の初期値を変更する変更手段とを備えていることを特徴とする遊技機12。カウンタの更新はランダムに行われるので、そのカウンタの値を乱数カウンタの更新の初期値として使用することにより、大当たりの決定にランダム性を付与して、不正行為などの防止効果を向上させることができる。なお、カウンタの値を乱数カウンタおよび現初期値メモリへ書き込むとは、必ずしも、カウンタから直接読み出した値を乱数カウンタおよび現初期値メモリのそれぞれへ書き込む必要はなく、カウンタから読み出した値を乱数カウンタへ書き込み、その乱数カウンタへ書き込んだ値を現初期値メモリへ書き込んだり、或いは逆に、カウンタから読み出した値を現初期値メモリへ書き込み、その現初期値メモリへ書き込んだ値を乱数カウンタへ書き込むようにしても良いのである。
【0085】
請求項1記載の遊技機または遊技機1から12のいずれかにおいて、前記カウンタの値を電源の切断後においても保持するバックアップ手段を備えていることを特徴とする遊技機13。なお、遊技機13が遊技機12の構成に追加される場合には、カウンタのみならず、乱数カウンタおよび現初期値メモリの値をもバックアップ手段によって電源の切断後も保持するように構成する。
【0086】
請求項1記載の遊技機または遊技機1から13のいずれかにおいて、前記遊技機はパチンコ機であることを特徴とする遊技機14。中でも、パチンコ機の基本構成としては操作ハンドルを備え、その操作ハンドルの操作に応じて球を所定の遊技領域へ発射し、球が遊技領域内の所定の位置に配設された作動口に入賞(又は作動口を通過)することを必要条件として、表示装置において変動表示されている識別情報が所定時間後に確定停止されるものが挙げられる。また、特別遊技状態の出力時には、遊技領域内の所定の位置に配設された可変入賞装置(特定入賞口)が所定の態様で開放されて球を入賞可能とし、その入賞個数に応じた有価価値(景品球のみならず、磁気カードへ書き込まれる情報等も含む)が付与されるものが挙げられる。
【0087】
請求項1記載の遊技機または遊技機1から13のいずれかにおいて、前記遊技機はスロットマシンであることを特徴とする遊技機15。中でも、スロットマシンの基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して図柄の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を出力させる特別遊技状態出力手段とを備えた遊技機」となる。この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
【0088】
請求項1記載の遊技機または遊技機1から13のいずれかにおいて、前記遊技機はパチンコ機とスロットマシンとを融合させたものであることを特徴とする遊技機16。中でも、融合させた遊技機の基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して識別情報の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を出力させる特別遊技状態出力手段とを備え、遊技媒体として球を使用すると共に、前記識別情報の変動開始に際しては所定数の球を必要とし、特別遊技状態の出力に際しては多くの球が払い出されるように構成されている遊技機」となる。
【0089】
【発明の効果】 本発明の遊技機によれば、乱数カウンタの値は、所定の範囲内で乱数カウンタ更新手段により更新されると共に、所定の契機により読出手段により読み出される。そして、読出手段により読み出された乱数カウンタの値が予め定められた値と一致する場合には、遊技者に所定の遊技価値が制御手段により付与される。また、乱数カウンタの値は、乱数カウンタ更新手段により所定回更新されることで一周し、乱数カウンタ更新手段は、所定条件が成立すると、所定の範囲内のいずれかの値を更新の初期値として次の周の更新を行なう。制御手段は、所定条件が成立する毎に乱数カウンタ更新手段の更新の初期値を初期値変更手段により更新し、その初期値変更手段により更新される初期値を初期値生成手段により所定の範囲と同じ範囲で生成する。また、制御手段は、保持記憶手段により遊技機の電源オフ後も記憶内容を保持可能であり、定期的に実行される定期処理と非定期的に実行される所定の処理とを実行可能である。そして、初期値生成手段は、演算を実行する演算手段が有するレジスタにおいて、複数バイトのデータで構成される初期値の更新処理を1命令で実行し、初期値の更新処理は、定期処理および所定の処理において行われる。
【0090】
ここで、初期値生成手段は、演算を実行する演算手段が有するレジスタにおいて、複数バイトのデータで構成される初期値の更新処理を1命令で実行するので、初期値の更新処理を定期処理および所定の処理において実行する場合でも、初期値の更新処理を好適に実行可能とすることができる。
【0091】
また、制御手段は、遊技機の電源がオフした場合のレジスタに記憶されている初期値を、保持記憶手段で保持可能とする書込手段を有しており、例えば、遊技機の電源がオンした場合の初期値を、遊技機の電源がオフした場合の値とすることができる。
【図面の簡単な説明】
【図1】 本発明の一実施例であるパチンコ機の正面図である。
【図2】 パチンコ機の電気的構成を示したブロック図である。
【図3】 MPUの電気的構成を示したブロック図である。
【図4】 NMI割込処理を示すフローチャートである。
【図5】 メイン処理を示すフローチャートである。
【図6】 RAMクリア及び初期化処理を示すフローチャートである。
【図7】 IYレジスタ補正処理を示すフローチャートである。
【図8】 INT割込処理を示すフローチャートである。
【図9】 乱数更新処理を示すフローチャートである。
【図10】 第2実施例のIYレジスタ補正処理を示すフローチャートである。
【符号の説明】
11 MPU
20 第1種始動口スイッチ
51 CPU
51a IYレジスタ(レジスタ)
54 ユーザワークRAM
54b 乱数カウンタ(乱数カウンタ、保持記憶手段の一部)
54c 現初期値メモリ
C 主制御基板(制御手段)
P パチンコ機(遊技機)
S72 IYレジスタ補正処理
[Document name] Statement
[Title of Invention] Gaming Machine
[Claims]
[Claim 1] The random number counter, a random number counter updating means for updating the value of the random number counter within a predetermined range, and a reading means for reading the value of the random number counter at a predetermined trigger, and the reading means read by the reading means. A control means for giving a predetermined game value to the player when the value of the random number counter matches a predetermined value is provided.In a gaming machine
The value of the random number counter goes around by being updated a predetermined number of times by the random number counter updating means.
When the predetermined condition is satisfied, the random number counter updating means updates the next cycle with any value within the predetermined range as the initial value for updating.
The control means
Each time the predetermined condition is satisfied, the initial value changing means for changing the initial value for updating the random number counter updating means, and the initial value changing means.
An initial value generating means that generates the initial value in the same range as the predetermined range,
It has a holding storage means that can hold the stored contents even after the power of the game machine is turned off.
It is possible to execute a periodic process that is executed periodically and a predetermined process that is executed irregularly.
The initial value generation means executes an initial value update process composed of a plurality of bytes of data with one instruction in a register of the calculation means that executes the calculation.
The initial value update process is performed in the periodic process and the predetermined process.
The control means has a writing means that enables the holding and storing means to hold an initial value stored in the register when the power of the game machine is turned off.A gaming machine characterized by that.
2. The update process is an addition process.The gaming machine according to claim 1, wherein the gaming machine is characterized by the above.
3. The update process is a subtraction process.Claim 1RecordPachinko machine.
4. The gaming machine is a pachinko gaming machine.The gaming machine according to any one of claims 1 to 3, wherein the gaming machine is characterized by the above.
Description: TECHNICAL FIELD [Detailed description of the invention]
[0001]
INDUSTRIAL APPLICABILITY The present invention relates to a gaming machine represented by a pachinko machine, a slot machine, or the like.
0002.
[Conventional Technology] Conventionally, for example, a pachinko machine or the like is provided with a display device capable of variablely displaying a plurality of types of symbols, and the variable display is displayed based on a ball driven into a game area winning a prize in a symbol operating port. It is configured to start. And, in some pachinko machines, this variation display is a combination of predetermined symbols.When is displayed, It becomes a big hit, and a predetermined game value is given to the player.
0003
By the way, for example, the variable display performed on the display device, specifically, for example, the content of the reach effect before the symbol is stopped, the type of the stopped symbol including the jackpot symbol, and the like are determined by the timing when the ball wins the symbol operating port. To. That is, it is equipped with a so-called random number counter that is updated one count at a time, and when the sphere wins a prize in the symbol operating port, the value of the random number counter is read out, and the effect content and the like are determined based on the read random number counter value. To do.
0004
In order to give randomness to the value of the random number counter, the update of the value of the random number counter or the update of the value of the counter that counts the initial value of the update of the random number counter is performed not only by one control routine but also by two or more. It is done by the control routine.
0005
PROBLEM TO BE SOLVED: To solve a problem. However, when updating one counter by two or more control routines, another control routine is executed while the counter is being updated by one control routine, and the counter is updated. When the update is performed, the value of the counter updated by another control routine is rewritten by one control routine executed after the execution of the other control routine.There is a risk, in which case, The problem that updating the count value performed by another control routine becomes meaninglessetcThere is.
0006
The present invention is aboveExampleProblemsetcIt was made to solve the problem, and one counter is set to two or more.A gaming machine capable of suitably executing the update of the value of the counter even when updating by processing.Is intended to provide.
0007
[Means for Solving the Problems] The gaming machine according to claim 1 is used to achieve this object.It has a random number counter, a random number counter updating means for updating the value of the random number counter within a predetermined range, and a reading means for reading the value of the random number counter at a predetermined trigger, and the reading means is used to read the value. A control means for giving a predetermined game value to the player when the value of the random number counter matches a predetermined value is provided, and the value of the random number counter is updated a predetermined number of times by the random number counter updating means. When the predetermined condition is satisfied, the random number counter updating means updates the next round with any value within the predetermined range as the initial value for updating. The control means includes an initial value changing means that changes the initial value of updating the random number counter updating means each time the predetermined condition is satisfied, and an initial value generating means that generates the initial value in the same range as the predetermined range. It has a holding storage means that can retain the stored contents even after the power of the game machine is turned off, and can execute a periodic process that is periodically executed and a predetermined process that is executed irregularly. The initial value generation means executes an initial value update process composed of a plurality of bytes of data with one instruction in a register of the calculation means that executes the operation, and the initial value update process includes the periodic process and the periodic process. The control means, which is performed in the predetermined process, has a writing means capable of holding the initial value stored in the register when the power of the game machine is turned off by the holding storage means...
The gaming machine according to claim 2 is the gaming machine according to claim 1.The update process is an addition process...
The gaming machine according to claim 3 is claim 1.RecordIn the game machines listedThe update process is a subtraction process...
The gaming machine according to claim 4 is the gaming machine according to any one of claims 1 to 3.The gaming machine is a pachinko gaming machine...
0008
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In this embodiment, as an example of the gaming machine, a pachinko machine which is a kind of ball gaming machine, particularly a first-class pachinko gaming machine will be described. It is naturally possible to use the present invention for a third-class pachinko gaming machine and other gaming machines.
0009
FIG. 1 is a front view of the game board of the pachinko machine P of this embodiment. Around the game board 1, a plurality of winning openings 2 are provided so that a predetermined number of balls are paid out when the balls are won. Further, in the center of the game board 1, a liquid crystal display (hereinafter, simply abbreviated as "LCD") 3 for displaying a symbol (special symbol) or the like as a plurality of types of identification information is provided. The display screen of the LCD 3 is vertically divided into three, and in each of the three divided display areas, a variable display of a symbol is performed while scrolling vertically from top to bottom.
0010
Above the LCD 3, an ordinary symbol display device 6 composed of two LEDs 6a and 6b on which ordinary symbols "○" and "x" are displayed is arranged. In this ordinary symbol display device 6, when a ball driven into the game area passes through the gates 7 arranged on both sides of the LCD 3, the fluctuations of alternately lighting the LEDs 6a and 6b of "○" and "×". The display is done. When the fluctuation display ends with the LED 6a of "◯", the normal electric accessory 4 is opened for a predetermined time (for example, 0.5 seconds) as a hit.
0011
Further, a symbol operating port (type 1 starting port, ordinary electric accessory) 4 is provided below the LCD 3, and when the ball wins a prize in the symbol operating port 4, the above-mentioned fluctuation display of the LCD 3 is displayed. To be started. A specific winning opening (large winning opening) 5 is provided below the symbol operating opening 4. When the display result after the fluctuation of the LCD 3 matches one of the predetermined combinations of symbols, the specific winning opening 5 becomes a big hit and a predetermined time (for example, 30 seconds elapses) so that the ball can easily win a prize. It is a winning opening that is opened until the player wins or until 10 balls are won.
0012
A V zone 5a is provided in the specific winning opening 5, and if a ball passes through the V zone 5a while the specific winning opening 5 is open, a continuation right is established and the specific winning opening 5 is closed. After that, the specific winning opening 5 is opened again for a predetermined time (or until a predetermined number of balls are won in the specific winning opening 5). The opening / closing operation of the specific winning opening 5 can be repeated up to 16 times (16 rounds), and the state in which the opening / closing operation can be performed is a state in which a so-called predetermined game value is given (special game state). is there.
0013
The state in which a predetermined game value is given in the third-class pachinko game machine (special game state) is specified when the display result after the change of the LCD 3 matches one of the predetermined combinations of symbols. It means that the winning opening is opened for a predetermined time. If the ball wins in the specific winning opening during the opening of the specific winning opening, the large winning opening provided separately from the specific winning opening is opened for a predetermined time and a predetermined number of times.
0014.
FIG. 2 is a block diagram showing the electrical configuration of the pachinko machine P. The main control board C of the pachinko machine P is equipped with an MPU 11 as a one-chip microcomputer which is an arithmetic unit. Details of the MPU 11 will be described later with reference to FIG.
0015.
As shown in FIG. 2, the MPU 11 includes a payout control board H that controls payout of prize balls and rental balls by a payout motor 17, and a display control board D that controls variable display of the above-mentioned special symbol and normal symbol. , The first type start port switch 20 and the other input / output device 21 are connected to each other. Further, the display control board D is connected to a voice lamp control board S that controls the output of sound effects from the speaker 18 and controls the lighting of LEDs and various lamps 19, and is transmitted from the MPU 11 of the main control board C. The operation of the sound lamp control board S is controlled based on the command.
0016.
The first-class start port switch 20 is a switch for detecting a ball that has won a prize in the symbol actuating port (first-class start port) 4 (see FIG. 1), and is provided in the vicinity of the symbol actuating port 4. When a ball is detected by the first-class start port switch 20, the payout motor 17 is activated and five prize balls are paid out by a payout device (not shown). When a sphere is detected by the first-class start port switch 20, the value of the random number counter 54b (see FIG. 3) is acquired, and the acquired value is written in a predetermined area of the user work RAM 54. It will be remembered.
[0017]
The power supply board 30 includes a power supply unit 30a for supplying electric power to each part of the pachinko machine P, a power failure monitoring circuit 30b, and a clear switch 30c. The power failure monitoring circuit 30b is a circuit for outputting a power failure signal 31 to the NMI terminal of the MPU 11 of the main control board C when the power is cut off due to the occurrence of a power failure or the like. The power failure monitoring circuit 30b monitors the DC stable 24 volt voltage, which is the largest voltage output from the power supply unit 30a, and determines that a power failure (power failure) has occurred when this voltage becomes less than 22 volt. , The power failure signal 31 is configured to be output to the main control board C and the payout control board H. By the output of the power failure signal 31, the main control board C and the payout control board H recognize the occurrence of the power failure and execute the power failure processing (in the case of the main control board C, the NMI interrupt processing of FIG. 4). Even after the DC stable 24 volt voltage becomes less than 22 volt, the power supply unit 30a normally outputs 5 volt, which is the drive voltage of the control system, for a sufficient time to execute the power failure processing. Since it is configured to maintain the value, the main control board C and the payout control board H can normally execute the power failure processing.
0018
The clear switch 30c is a switch for clearing the data backed up in the user work RAM 54 of the main control board C and the RAM (not shown) of the payout control board H, and is composed of a push button type switch. .. When the power of the pachinko machine P is turned on while the clear switch 30c is pressed (including turning on the power by eliminating the power failure), clear signals 32 are output to the main control board C and the payout control board H, respectively, and the clear signals 32 are output. With the signal 32 as an opportunity, the data of each user work RAM 54 is cleared. In this case, since the value of the random number counter 54b is cleared, the initial value of the update of the random number counter 54b is a pachinko machine using the value (unique code) of the unique code memory 64a stored in the ID RAM 64. It is set to a different value for each.
0019
Next, the MPU 11 as a one-chip microcomputer mounted on the main control board C will be described with reference to FIG. FIG. 3 is a block diagram showing an electrical configuration of the MPU 11. As shown in the figure, the MPU 11 is provided with a program ROM 52, a HW parameter 53, a user work RAM 54, an internal I / O block 55, an I / O port 56, and the like, centering on a central processing unit (CPU) 51. These are connected to each other by a bus 57. Further, these are connected to the management block 59 via the bus monitor 58. The CPU 51 includes an accumulator (Acc), B, C, D, E, H, and L registers, IX, and IY 16-bit index registers, flag registers, and other registers (FIG. 3 shows). , Only the IY register 51a is shown).
0020
In this embodiment, the program ROM 52 is composed of a one-time writing type EPROM, in which a predetermined control program and initial data are stored in advance. The flowchart programs shown in FIGS. 4 to 9 are stored in the program ROM 52 as a part of the control program. The CPU 51 executes various arithmetic processes according to the control program of the program ROM 52 based on various signals and the like input via the I / O port 56. The HW parameter 53 is composed of an EEPROM which is a rewritable non-volatile memory, and stores various setting items and the like related to a clock and the like.
0021.
The user work RAM 54 temporarily stores various data such as calculation results by the CPU 51, and includes a backup area 54a, a random number counter 54b, and a current initial value memory 54c. Further, the user work RAM 54 is configured so that the backup voltage is supplied from the power supply board 30 described later even after the power of the pachinko machine P is turned off, and data can be held (backed up). The data of the user work RAM 54 may be backed up by using a capacitor, a battery, or the like.
0022.
When the power of the backup area 54a is turned off due to a power failure or the like, the state of the pachinko machine P is restored to the state before the power was turned off when the power is turned on again. , Similar) This is an area for storing the stack pointer, each register, the value of I / O, and the like. The value of the IY register 51a is also stored in this backup area when the power is turned off. Writing to the backup area 54a is executed when the power is turned off by the NMI interrupt process (see FIG. 4), and conversely, restoration of each value written in the backup area 54a is performed when the power is turned on (power is turned on by eliminating the power failure). Included. The same applies hereinafter), which is executed in the initialization process (see FIG. 5). The NMI (Non Maskable Interrupt) terminal (non-maskable interrupt terminal) of the MPU 11 is configured to input a power failure signal 31 output from the power failure monitoring circuit 30b, which will be described later, when the power is turned off due to a power failure or the like. When a power failure occurs, the power failure process (NMI interrupt process) shown in FIG. 4 is immediately executed.
[0023]
The random number counter 54b is a counter for determining the occurrence of a jackpot, and is updated in the addition direction by 1 count every 2 ms in the range of "0" to "629" by the random number update process (see FIG. 9) described later. To. The value of the random number counter 54b is acquired when the ball driven into the game board 1 wins the symbol operating port 4 and is detected by the type 1 starting port switch 20 described later (at the time of starting winning). When the value of the acquired random number counter 54b is, for example, "7" or "315", a big hit occurs. When a jackpot occurs, a jackpot command is transmitted from the main control board C to the display control board D described later, and the display control board D controls the fluctuation display of the LCD 3 and the audio lamp control board S based on the jackpot command. I do.
0024
As described above, the value of the random number counter 54b is held (backed up) by the backup voltage supplied from the power supply board 30 even after the power is turned off. Therefore, when the power is turned on, the update of the random number counter 54b can be restarted from the backed up value, so that the initial value of the update of the random number counter 54b is avoided to be a fixed value, and the randomness of the random number counter 54b is random. Can be secured.
0025
On the other hand, when the value of the random number counter 54b is not properly held due to a backup failure or the like, or when the value of the random number counter 54b is cleared by pressing the clear switch 30c, the RAM clearing and initialization processing shown in FIG. 6 is performed. In, a different initial value is generated for each pachinko machine by using the value of the unique code memory 64a described later. Therefore, even when the value of the random number counter 54b is cleared, the randomness of the random number counter 54b is reduced by avoiding that the initial value of the update of the random number counter 54b becomes a fixed value such as "0". Can be prevented. For example, for fraudulent acts that illegally clear the value of the random number counter 54b and generate a jackpot illegally, the initial value of updating the random number counter 54b after clearing can be made different for each pachinko machine. It is possible to suppress such fraudulent activities by making it difficult to grasp the initial value.
0026
The random value (initial value) generated based on the value of the unique code memory 64a is used only for the initial value of the update of the first cycle (first) after the value of the random number counter 54b is cleared or the like. The value of the IY register 51a is used as the initial value of the update after the second cycle.
[0027]
The current initial value memory 54c is a memory for storing the initial value of the random number counter 54b being updated, and the IY register 51a of the CPU 51 is a memory (register) for storing the initial value of the next update of the random number counter 54b. ). In the current initial value memory 54c and the IY register 51a, the range of "0" to "629", which is the same as the update range of the random number counter 54b, is set as a value within an appropriate update range. The IY register 51a is updated not only in the INT interrupt process (see FIG. 8) but also in the main process (see FIG. 5), and in the main process, one count is taken without considering an appropriate update range. Since the IY register 51a is increased, the IY register 51a is corrected to a value within an appropriate update range in the integer update process (S52, see FIG. 9) of the INT interrupt process, and then the initial value of the next update of the random number counter 54b. Used as. Further, the update of the IY register 51a is repeatedly executed in the process of S21 of the main process. Such processing is executed in the remaining time of the control of the INT interrupt processing which is executed periodically. Since the remaining time is an indefinite time that changes according to the state of the game, the value of the IY register 51a is randomly updated. Therefore, by using the value of the IY register 51a as the initial value for updating the random number counter 54b, the initial value for updating the random number counter 54b can be randomly changed.
[0028]
The internal I / O block 55 is composed of functional blocks such as a counter timer, an interrupt controller, and a high-speed HW counter. The bus monitor 58 manages the input / output of data, and the bus monitor 58 outputs the calculation data of the CPU 51 to the management block 59, and the contents of the management block 59 (for example, the unique code memory 64a). The value) is output to the user work RAM 54 or the like in response to the request of the CPU 51.
[0029]
The management block 59 constitutes an independent storage unit, and includes an inspection port 61, a mirrored RAM 62, a status RAM 63, an ID RAM 64, and the like. The inspection port 61 can detect a write error, a sequence error, and the like, and the mirrored RAM 62 mirrors (copies) the data of the user work RAM 54. Further, the setting items of the HW parameter 53 and the like are written in the status RAM 63.
[0030]
The ID RAM 64 is provided with a unique code memory 64a, and a value (unique code) as an identification number (identification information) unique to the MPU 11 (that is, unique to the pachinko machine) is written in the unique code memory 64a. It has been. The value of the unique code memory 64a plays a role as security information of the pachinko machine P, and is composed of a unique number different for each MPU. A modular jack (not shown) can be connected to the inspection port 61 of the MPU 11, and a checker (not shown) can be connected to the MPU 11 via the modular jack. Therefore, since the value of the unique code memory 64a can be read from the outside and the authenticity can be verified, the security check of the MPU 11 can be performed. Therefore, it is possible to suppress the fraudulent act of illegally rewriting the value of the unique code memory 64a or exchanging the MPU 11 for the fraudulent MPU, making it difficult to execute.
0031
The value (unique code) of the unique code memory 64a is read in the RAM clearing and initialization processing of FIG. 6 and used when generating the initial value for updating the random number counter 54b. As described above, since the value of the unique code memory 64a is composed of a unique number different for each pachinko machine, the initial value for updating the random number counter 54b generated by using the value of the unique code memory 64a. Is an indefinite value that differs for each pachinko machine, and as a result, it is possible to suppress fraudulent acts such as unreasonably reducing the randomness of the random number counter 54b and generating a jackpot. In addition to the unique code memory 64a, the ID RAM 64 is also provided with a memory (not shown) for storing the manufacturer code, model code, and the like of the pachinko machine P.
[0032]
Next, each process executed by the pachinko machine P configured as described above will be described with reference to the flowcharts of FIGS. 4 to 9. FIG. 4 is a flowchart showing an NMI interrupt process executed on the main control board C when the power of the pachinko machine P is turned off due to a power failure or the like. By this NMI interrupt processing, the state of the main control board C at the time of power failure due to the occurrence of a power failure or the like is stored in the backup area 54a.
0033
When the power of the pachinko machine P is cut off due to the occurrence of a power failure or the like, the power failure signal 31 is output from the power failure monitoring circuit 30b to the NMI (Non Maskable Interrupt) terminal of the MPU 11 of the main control board C. Then, the MPU 11 interrupts the control during execution and starts the NMI interrupt process of FIG. Power is supplied from the power supply unit 30a of the power supply board 30 for a predetermined time after the power failure signal 31 is output so that the processing of the main control board C can be executed, and the NMI interrupt processing is executed within this predetermined time. Will be done.
0034
In the NMI interrupt process, first, the values of each register and I / O are written to the stack area (S1), and then the value of the stack pointer is written to the backup area 54a and saved (S2). Further, the power failure occurrence information is written to the backup area 54a (S3), and the state when the power is turned off due to the occurrence of a power failure or the like is stored. After that, after executing other power failure processing (S4), the processing is looped until the power is completely turned off and the processing cannot be executed.
0035.
FIG. 5 is a flowchart of the main process executed on the main control board C when the pachinko machine P is turned on. In the main process, if the backup is valid, each data stored in the backup area 54a is returned to the original state, and the control of the game is continued from the state before the power is turned off. On the other hand, if the backup is not valid, or if the clear switch 30c is pressed when the power is turned on even if the backup is valid, the RAM clear and initialization process (S18) is executed to operate the pachinko machine P. initialize.
0036
First, interrupts are prohibited (S11), and a stack pointer is set (S12). It is confirmed whether or not the clear switch 30c is turned on (S13), and if it is not turned on (S13: No), it is confirmed whether or not the backup is valid (S14). This confirmation is determined by whether or not the keyword written in the predetermined area of the user work RAM 54 is correctly stored. If the keyword is stored correctly, the backup is valid, and conversely, if the keyword is not correct, the backup data is corrupted and the backup is not valid. If the backup is valid (S14: Yes), the process is shifted to S15, and each state of the main control board C is restored to the state before the power is turned off. That is, the value of the stack pointer is read from the backup area 54a, written to the stack pointer, and returned to the state before the power is turned off (before the power failure), that is, the state before the NMI interrupt occurs (S15). Next, the data such as each register and I / O saved in the stack area after returning the value of the stack pointer, that is, the backup area 54a is read from the backup area 54a, and each of these data is read out from the original register and I /. Write to O or the like (S16), and then change the interrupt state to the state before power off (before power failure) stored in the process of FIG. 4 executed when a power failure occurs, that is, the state before NMI interrupt occurs. Return (S17) and NMI interrupt return are executed to return the process to the place where it was executed before the power was turned off, and control is continued from the state before the power was turned off.
0037
On the other hand, if the clear switch 30c is turned on (S13: Yes) or the backup is not valid (S14: No), the RAM clearing and initialization processing is executed (S18). After that, each interrupt such as a timer interrupt is set (S19) so that the interrupt can be generated, and then the interrupt is permitted (S20). After the interrupt is permitted, the processes S21 and S22 are repeatedly executed between the executions of the INT interrupt process shown in FIG. 8 (the remaining time for executing the INT interrupt process).
[0038]
The process of S21 is an increment process (S21) of the IY register 51a, and the value of the IY register 51a is "+1" each time this process is executed. Since the processing of S21 is executed by one instruction of MPU11, other interrupt processing such as INT interrupt processing is not executed during the execution. Therefore, the update of the value (count value) of the IY register 51a by the processing of S21 can be completed without interruption in the middle. Further, in such an update, the value of the IY register 51a is moved to another register (excluding those outside the scope of soft control such as ALU) or memory, and then the value of the IY register 51a is updated, and after the update. The value of IY register 51a is not returned to the IY register 51a to complete the update. Therefore, even in this respect as well, even if the update process of the IY register 51a is performed in parallel, the value of the IY register 51a is accurately updated. can do. The IY register 51a is composed of a 16-bit register. Therefore, when the processing of S21 is executed in the state where the value of the IY register 51a is "0FFFFh", the value of the IY register 51a becomes "0".
[0039]
Here, the IY register 51a is used as a register for storing the initial value of the update of the random number counter 54b for determining the jackpot (used as a counter for counting the initial value of the update of the random number counter 54b). In addition, the other random process (S22) is an update process for giving randomness to predetermined data in controlling the game. As described above, since these processes are repeatedly executed by utilizing an indefinite time when the interrupt is not executed, the data to be the target of these processes becomes a random value as a result. Therefore, by repeatedly executing each of the processes of S20 and S21, the initial value of updating the random number counter can be set to a random value.
0040
Since the random number counter 54b of this embodiment is updated in the range of "0 to 629", when the value of the IY register 51a is updated to "629", which is the maximum value, by executing the INT interrupt process. Also, the shortest execution time of the INT interrupt process and the total shortest of S21 and S22 are executed so that the next INT interrupt process is executed until the value of the IY register 51a is updated to "0" by the process of S21. The execution interval of the INT interrupt process is determined based on the execution time. That is, this execution is performed so that the next INT interrupt process is executed at the latest until the processes of S21 and S22 are executed 64906 times from "629" to "0FFFFh (= 65535)". In the example, the execution interval of the INT interrupt process is 2 ms. With this configuration, even if the value of the IY register 51a is repeatedly updated by "+1" without checking the update range, the IY register correction process (see FIG. 7) executed in the INT interrupt process , The value can be corrected to a value within an appropriate update range. Therefore, the update of the IY register 51a in the main process can be effectively used without making it meaningless.
[0041]
FIG. 6 is a flowchart showing a RAM clearing and initialization process (S18) executed in the main process of the main control board C. In this process, the values of the user work RAM 54 and each I / O are initialized, and the value of the unique code memory 64a (unique code) is used to generate the initial value for updating the random number counter 54b. This is a process for generating an initial value for updating 54b of a random number counter that is different for each.
[0042]
In this RAM clearing and initialization process, first, each value of the user work RAM 54 is cleared to "0", and the initial values of the user work RAM 54 and each I / O are set (S31). Here, in the conventional pachinko machine, since the update of the random number counter is started with the value cleared to "0" as the initial value, the initial value of the update becomes a fixed value (here, "0"), and the random number becomes random. This caused a decrease in the randomness of the counter. Therefore, in the pachinko machine P of the present embodiment, the initial value of the update of the random number counter 54b is randomly generated by the process described below, and the decrease in the randomness of the random number counter 54b is prevented.
[0043]
That is, after the processing of S31, first, the value of the unique code memory 64a of the ID RAM 64 is read (S32), and the read value is written to the IY register 51a (S33). As described above, the value of the unique code memory 64a is a unique number unique to the MPU 11, so that in S33, different values are written to the IY register 51a for all pachinko machines of the same model. .. When the value of the unique code memory 64a is composed of 2 bytes or more, in this embodiment, the lower 2 bytes of data are written to the IY register 51a, but the value of the unique code memory 64a of 2 bytes or more is 2 bytes. The data may be processed and the processed value may be written to the IY register 51a. Further, it may be configured to write 2-byte data other than the lower level data to the IY register 51a.
[0044]
Next, by the IY register correction process (S34) shown in FIG. 7, the value of the IY register 51a is processed (corrected) to a value within an appropriate update range of the random number counter 54b (“0 to 629” in this embodiment). This is because the data written in the IY register 51a is not necessarily the data within the proper update range of the random number counter 54b.
0045
As shown in FIG. 7, in the IY register correction process, first, it is confirmed whether or not the value of the IY register 51a is "629" or less, which is the maximum value of the appropriate update range (S41). If the value of the IY register 51a is "630" or more (S41: No), the value exceeds the value of the appropriate update range of the random number counter 54b. In this case, the value of the IY register 51a is updated. Subtract "630", which is the maximum value of the range + 1 (S42). If the value of the IY register 51a is "629" or less as a result of the subtraction (S41: Yes), the correction of the value of the IY register 51a is terminated, and the IY register correction process is terminated. On the other hand, if the value of the IY register 51a is still "630" or more (S41: No) even after subtraction, the subtraction process of "630" is performed from that value until the value of the IY register 51a becomes "629" or less. repeat. As described above, the value of the IY register 51a is corrected to a value within an appropriate update range of the random number counter 54b (“0 to 629” in this embodiment) by the IY register correction process (S34).
[0046]
It will be described back to FIG. When the value of the IY register 51a becomes a value within an appropriate update range by the IY register correction process, the value of the IY register 51a is written to the random number counter 54b and the current initial value memory 54c (S35, S36), and the random number counter 54b. And the current initial value Set the initial value for updating the memory 54c. The random number counter 54b starts the update of the first cycle by the random number update process (S52, see FIG. 9) described later, with the value set by the process of S35 as the initial value of the update.
[0047]
In this way, a random value generated by processing (correcting) the value of the unique code memory 64a (that is, the value written in the IY register 51a) is set as the initial value for updating the random number counter 54b. .. If the value of the random number counter 54b is not properly held due to poor backup or the like, or if the value of the random number counter 54b is cleared by pressing the clear switch 30c, the random number counter 54b is started from the randomly generated initial value. Since the update of the random number counter 54b is started, it is possible to prevent the update of the random number counter 54b from starting from a fixed value such as "0" and suppress a decrease in the randomness of the random number counter 54b.
0048
Here, for example, an illegal board (for example, a so-called "hanging board") is attached between the main control board C and another board (for example, the power supply board 30), and the board is illegally generated. A fraudulent act of outputting a signal (for example, a power failure signal 31) to the main control board C is conceivable. For example, if an illegally generated power failure signal is continuously output to the main control board C to cause frequent power failure processing, the main control board C (MPU11) cannot normally execute the power failure processing. , The game state is initialized (user work RAM 54 is initialized). By doing so, the update of the random number counter 54b is started from a fixed value such as "0", and the randomness of the random number counter 54b is unreasonably lowered.
[0049]
However, according to the gaming machine P of the present embodiment, the initial value for updating the random number counter 54b is generated based on the value (unique code) of the unique code memory 64a, so that it is a random value that differs for each pachinko machine. is there. Therefore, even if a person who commits fraudulent activity (illegal board) illegally generates a detection signal of the first-class start port switch 20 and tries to output the illegally generated detection signal at a jackpot timing, the random number counter 54b Since the value of can not be grasped, the jackpot cannot be generated illegally. Therefore, it is possible to prevent fraudulent acts such as unreasonably generating a big hit by a so-called "hanging substrate" or the like.
0050
A random number is obtained by illegally obtaining the pachinko machine P, decoding the value (unique code) of the unique code memory 64a of the MPU 11 included in the pachinko machine P, and analyzing the control program stored in the program ROM 52. It is possible to acquire (understand) the initial value of updating the counter 54b. However, the initial value for updating the randomly acquired random number counter 54b is a value that occurs only in the obtained pachinko machine P itself, and is different from that in other pachinko machines (because the unique code is different for each pachinko machine). The initial value is generated. Therefore, even in pachinko machines of the same model, fraudulent activity cannot be performed unless the unique code is individually decrypted for each pachinko machine, and as a result, such fraudulent activity can be made extremely difficult. is there.
0051
FIG. 8 is a flowchart of an interval interrupt process (INT interrupt process) that is periodically (for example, every 2 ms) executed on the main control board C of the pachinko machine P. The main control of the pachinko machine P is executed by this INT interrupt process. In the INT interrupt process, first, data such as commands created in the previous INT interrupt process is output to each port by special symbol variation process (S59), display / lamp / sound effect data creation process (S61), and the like. Port output processing is executed (S51).
[0052]
Next, a random number update process (S52, which will be described later with reference to FIG. 9) for updating the value of the random number counter 54b for determining the jackpot by "+1" is executed, and a storage timer subtraction process is executed (S53). .. The storage timer subtraction process shortens the time for displaying the fluctuation of the symbol when there are a predetermined number or more of the reserved balls for the jackpot determination and the variation of the symbol is being displayed on the LCD3. In the switch monitoring process (S54), depending on the state of each read switch, the winning opening 2 and the large winning opening 5 of the ball driven into the game area, the winning of the symbol operating opening 4, the passing through the gate 7, etc. It performs the processing related to. In the symbol counter update process (S55), as a result of the fluctuation display performed on the LCD 3, the counter update process for determining the symbol to be stopped and displayed is performed. Further, in the symbol check process (S56), the jackpot symbol, the missed symbol, and the reach symbol used in the special symbol variation process (S59) are based on the value of the counter updated in the symbol counter update process (S55). Etc. are decided.
[0053]
By the normal symbol variation processing (S57), the variation display of the ordinary symbol display device 6 composed of the two LEDs 6a and 6b of "○" and "×" is performed, and as a result of the variation display, the LED 6a of "○" is displayed. When the fluctuation display is completed in, a hit process is performed in which the normal electric accessory (design actuating port) 4 is opened for a predetermined time (for example, 0.5 seconds). After that, if the state flag is checked (S58) and the LCD 3 is in the process of starting or displaying the fluctuation of the special symbol (S58: during the symbol fluctuation), the sphere passes through the symbol operating port 4 by the special symbol variation process (S59). Based on the value of the random number counter 54b read at the timing of the operation, it is determined whether or not it is a big hit, and the LCD 3 executes a special symbol variation process. On the other hand, as a result of checking the status flag, if the jackpot is in progress (S58: jackpot in progress), the jackpot process (S60) such as opening the jackpot 5 is executed. Further, as a result of checking the state flag, if the special symbol is neither fluctuating nor a big hit (S58: other), the processing of S59 and S60 is skipped, and the process proceeds to the display / lamp / sound effect data creation processing of S61.
0054
In the display / lamp / sound effect data creation process (S61), in addition to the variable display of the special symbol, the demo data displayed on the LCD3, the display data of the two LEDs 6a and 6b of the normal symbol display device 6, the holding ball lamp, etc. Various lamp data, sound effect data according to the game situation, etc. are created. The display data, lamp data, and sound effect data are output to the display control board D as command data by the port output process (S51) described above. The display control board D decodes the command data and uses it for display control of the LCD 3 and the ordinary symbol display device 6, creates command data for the sound lamp control board S, and uses this as the sound lamp control board. Output to S to control the output control of lamps, LEDs and sound effects. After the display / lamp / sound effect data creation process (S61) is completed, this INT interrupt process is completed. After that, the process returns immediately after the main process (FIG. 5) that was executed immediately before the execution of the INT interrupt process, and the main process is continued. Then, when a predetermined time (for example, 2 ms) has elapsed from the execution of the previous INT interrupt process, the next INT interrupt process is executed.
0055
Next, the random number update process (S52) executed in the INT interrupt process will be described with reference to FIG. FIG. 9 is a flowchart showing a random number update process (S52) executed in the INT interrupt process of the main control board C. In this process, the value of the IY register 51a is updated by "+1", and the value of the updated IY register 51a is corrected to a value of "0 to 629", which is a value within an appropriate update range. Further, the value of the random number counter 54b is updated by "+1" within the range of "0" to "629".
0056
First, the IY register 51a is incremented (S71), and the value of the IY register 51a is "+1". As described above, the value of the IY register 51a is constantly updated by "+1" during the remaining time of the INT interrupt processing in the main processing, so that the value of the IY register 51a updated by "+1" in the processing of S71 is It may exceed the value "0 to 629" within the appropriate update range. Therefore, after the increment processing of the IY register 51a, the IY register correction processing (S72) is executed to return the updated value of the IY register 51a to a value within an appropriate update range. Since the IY register correction process (S72) is the same as the process of FIG. 7 described above, the description thereof will be omitted.
[0057]
Next, the value of the random number counter 54b is added by 1 (S73), and whether or not the value of the random number counter 54b after the addition is "630" or more, that is, the value of the appropriate update range of the random number counter 54b is exceeded. Check whether or not (S74). If the value of the random number counter 54b after addition is "630" or more (S74: Yes), the value of the appropriate update range is exceeded, so the value of the random number counter 54b is cleared to "0" (S75). On the other hand, if the value of the random number counter 54b after addition is "629" or less (S74: No), the value is within the appropriate update range, so the processing of S75 is skipped in order to maintain the value after addition. , S76.
0058.
In the process of S76, the value of the updated random number counter 54b and the value of the current initial value memory 54c are compared. Since the initial value of the update of the random number counter 54b currently being updated is stored in the current initial value memory 54c, if both values are equal (S76: Yes), the update of the random number counter 54b is said to have completed once. That is. Therefore, in such a case, the value of the IY register 51a that stores the initial value of the next update of the random number counter 54b is written to the random number counter 54b and the current initial value memory 54c (S77, S78), and the initial update of the random number counter 54b is performed. Change the value.
[0059]
In this way, since the random number counter 54b changes the initial value of the update each time the update is completed, the uniformity of the random numbers (they do not take the same value when continuously acquired, and moreover, It is possible to obtain a random number value (that all values can be retrieved with the same probability). Further, as described above, the value of the IY register 51a, which is the initial value of the update, is updated using an indefinite time that changes according to the state of the game, so that the initial value of the update of the random number counter 54b is random. Can be changed to.
[0060]
On the other hand, when the value of the random number counter 54b after the update and the value of the current initial value memory 54c are not equal (S76: No), the update of the random number counter 54b has not been completed yet, so that the update of the random number counter 54b has not been completed yet. By skipping the process, the values of the random number counter 54b and the current initial value memory 54c are maintained. After that, another random number update process (S79) is executed to end the random number counter update process.
[0061]
As described above, according to the pachinko machine P of the present embodiment, the IY register 51a that counts the initial value of the random number counter 54b that determines the jackpot is periodically updated in the INT interrupt process (see FIG. 8). Not only that, in the main process (see FIG. 5), the remaining time of the INT interrupt process is used for updating. Since the remaining time is a time that changes according to the control state of the game, the value of the IY register 51a can be used as the initial value for updating the random number counter 54b, assuming that the value of the IY register 51a is reliably updated and given randomness. it can.
[0062]
Further, the IY register 51a is updated by two different processes, the main process and the INT interrupt process, but since the update is performed by one instruction, the update is performed regardless of the execution timing of both processes. The results can be used effectively without making them meaningless. Further, since the IY register 51a, which is an internal register of the CPU 51 and is an index register which is relatively infrequently used, is used without using the memory on the user work RAM 54, the memory usage efficiency can be improved accordingly. Can also be improved. Moreover, since the IY register 51a can be updated with 16 bits, it is suitable as a counter for counting the initial value of the update of the random number counter 54b having an update range exceeding "256".
[0063]
Further, in the random number update process (see FIG. 9), the value of the IY register 51a is corrected to a value within an appropriate update range and then used as the initial value for updating the random number counter 54b. Therefore, in the main process, IY Even if the register 51a is updated by "+1" without checking the update range, the value of the IY register 51a can be used accurately. In other words, in the main process, it is not possible to update the value of the IY register 51a with one instruction while checking whether the value of the IY register 51a is within the appropriate update range. Therefore, in the main process, the value of the IY register 51a can be updated with one instruction. In the INT interrupt process that only updates "+1" and uses the value of the IY register 51a, the value is corrected to a value within an appropriate update range before the value of the IY register 51a is used. Further, the shortest processing time of the INT interrupt processing and the total of S21 and S22 so that the value of the IY register 51a does not become "0" when the main processing is updated so that the value of the IY register 51a is corrected accurately. Since the execution interval of the INT interrupt process is determined by the shortest processing time (in this embodiment, as a result, the INT interrupt process is executed every 2 ms), the IY register correction process (see FIG. 7). Therefore, the value of the IY register 51a can be corrected to a value within an appropriate update range without losing the updated count value.
[0064]
Next, the IY register correction process of the second embodiment will be described with reference to FIG. In the IY register correction process of the second embodiment, first, it is confirmed whether or not the value of the IY register 51a is "629" or less, which is the maximum value of the appropriate update range (S81). If the value of the IY register 51a is "629" or less (S81: Yes), the IY register 51a is a value within an appropriate update range, so that the IY register correction process is terminated without correcting the value. On the other hand, if the value of the IY register 51a is "630" or more (S81: No), the value exceeds the value of the appropriate update range of the random number counter 54b. In this case, the value of the IY register 51a Is divided by "630", which is the maximum value of the update range + 1 (S82). The remainder after division is written to the IY register 51a (S83), this is set as the value of the IY register 51a, and the IY register correction process is terminated. In the process of FIG. 10, the process of S81 may be deleted and configured.
[0065]
In each of the above-described embodiments, the main control board C corresponds to the control means according to claim 1.The random number counter update means corresponds to the random number update process of S52 of the INT interrupt process of FIG. 8, and the initial value change means corresponds to the process of S77 of the random number update process of FIG. 9, as the initial value generation means. Corresponds to the process of S21 of the main process of FIG. 5 and the process of S71 of the random number update process of FIG. 9, and the NMI interrupt process of FIG. 4 corresponds to the writing means.
[0066]
Although the present invention has been described above based on the examples, the present invention is not limited to the above examples, and it is easy that various improvements and modifications can be made without departing from the spirit of the present invention. It can be inferred.
[0067]
For example, in the above embodiment, the IY register 51a is used as the counter, and the counter is not necessarily limited to the IY register 51a. Instead of the IY register 51a, an IX register, a BC register, a DE register, an HL register, or the like is used as a counter. You may use it. Further, instead of the register, a memory on a RAM such as a user work RAM 54 may be used as a counter. In such a case, the update of the counter value in the main process is executed by one instruction, or if it cannot be executed by one instruction, the update itself is performed on the memory. Further, the update of the count value (update of the value of the IY register 51a) in this embodiment is performed by the increment instruction (INC) in the addition direction of "+1", but instead of the increment instruction, the decrement instruction (DEC) ) May be used to perform the subtraction direction by "-1". In such a case, the correction process of the count value is corrected according to the count method.
[0068]
Further, the counter of the present invention does not necessarily have to be used as a counter for counting the initial value of the update of the random number counter 54b. Therefore, for example, the counter of the present invention may be used as the random number counter 54b itself, or may be used as another counter that requires randomness, such as a symbol counter or a reach counter.
[0069]
The present invention may be carried out on a pachinko machine or the like of a type different from the above-described embodiment. For example, once a jackpot is hit, a pachinko machine (commonly known as a two-time right item, a three-time right item) that raises the expected value of the jackpot until multiple (for example, two or three times) jackpot states occur including that. It may be carried out as). Further, after the jackpot symbol is displayed, the pachinko machine may be put into a special gaming state on the condition that the ball is won in a predetermined area. Further, in addition to the pachinko machine, it may be implemented as various game machines such as a pachinko machine, a sparrow ball, a slot machine, a so-called pachinko machine and a slot machine.
[0070]
In the slot machine, for example, the symbol is changed by operating the operation lever in a state where a coin is inserted to determine the symbol effective line, and the symbol is stopped and confirmed by operating the stop button. It is a thing. Therefore, as a basic concept of a slot machine, "a variable display means for variably displaying a symbol sequence composed of a plurality of symbols and then confirming the symbol is provided, and the symbols are caused by the operation of a starting operation means (for example, an operation lever). The fluctuation of the symbol is stopped due to the operation of the stop operation means (for example, the stop button) or after a predetermined time elapses, and the confirmed symbol at the time of the stop is the specific symbol. As a necessary condition, the slot machine is provided with a special game state generating means for generating a special game state advantageous to the player. In this case, coins, medals, and the like are typical examples of the game medium.
[0071]
Further, as a specific example of a gaming machine in which a pachinko machine and a slot machine are fused, a variable display means for displaying a variable display of a symbol sequence composed of a plurality of symbols and then confirming the symbol is provided, and a handle for launching a ball can be used. Some are not equipped. In this case, after a predetermined amount of balls are thrown in based on a predetermined operation (button operation), the symbol variation is started due to, for example, the operation of the operation lever, and for example, due to the operation of the stop button or a predetermined amount. As time elapses, the fluctuation of the symbol is stopped, and a jackpot state that is advantageous to the player is generated on the condition that the confirmed symbol at the time of the stop is the so-called jackpot symbol, and the player receives the lower tray. A large number of balls are paid out.
[0072]
A modification of the present invention is shown below. The counter has a counter, a first control means for updating the value of the counter, a second control means for interrupting execution of the first control means to execute control, and the first and second control means. In a gaming machine provided with a control means that uses the value of the above for controlling the game under predetermined conditions, the first control means directly updates the value of the counter, and the second control means is said. The gaming machine 1 is characterized in that, in addition to the first control means, a correction means for updating the value of the counter and correcting the value of the counter to a value within an appropriate update range is provided. To directly update the value of the counter means to directly update the value of the counter without using other registers or memory other than the counter. For example, once the value of the counter is changed to another register (ALU in the CPU). It does not mean that it is updated by loading it into a memory (excluding those outside the scope of soft control such as), updating it with its register or memory, and writing the updated value back to the counter.
[0073]
According to the game machine 1, the counter of 1 is updated by two control means, that is, a first control means and a second control means that is executed by interrupting the execution of the first control means. The second control means interrupts the execution of the first control means to execute the control regardless of the execution timing of the first control means, and updates the counter in the control. Therefore, when the first control means updates the counter as follows, the update of the counter may be hindered depending on the execution timing of the second control means. That is, the counter value is once loaded into another register or memory (step 1), the count value is updated in the register or memory (step 2), and the updated count value is loaded (returned) into the counter. ) (Step 3) When updating the counter, if the second control means is executed after the execution of step 1 and before the execution of step 3 and the count value is updated, the second control means is executed. Since step 3 of the first control means is executed later, even if the count value is updated by the second control means, the count value is returned to the original value by the first control means. On the other hand, in the game machine 1, since the first control means directly updates the counter value, the updated count value is restored by the second control means regardless of the timing when the second control means is executed. It won't happen. That is, the first control means can continuously and continuously update the count value updated by the second control means. Therefore, according to the game machine 1, even when the counter of 1 is updated separately by the two control means of the first control means and the second control means, the value of the counter is continuously updated. Can be done. Further, since the second control means includes a correction means for correcting the counter value to a value within an appropriate update range, the update of the counter value by the first control means exceeds the appropriate update range of the counter. Even so, the value of the counter can be corrected to a value within an appropriate update range by executing the second control means. The counter value update method by the second control means does not necessarily have to be the same as the update method of the first control means, and may be a different update method.
[0074]
The game machine 1 is characterized in that the first control means directly updates the value of the counter with one instruction.
[0075]
In the gaming machine or the gaming machine 1 or 2 according to claim 1, the first control means is configured to continue updating the value of the counter even when the value of the counter exceeds the appropriate update range. The second control means is a gaming machine in which the value of the counter is corrected to a value within an appropriate update range by the correction means, and then the value of the counter is used for controlling the game. 3. The value of the counter is updated by the first control means even when it exceeds the appropriate update range, but the value is corrected by the second control means to a value within the appropriate update range, and after the correction. The value of the counter is used by the second control means to control the game. Therefore, even if the value of the counter is updated beyond the value within the appropriate update range by the first control means, it can be used as the value within the appropriate update range for the control of the game.
[0076]
In any of the gaming machines or games 1 to 3 according to claim 1, the counters are updated by the first and second control means in an increasing direction, and the correction means of the second control means is the counter. If the value is not within the proper update range (exceeds the value in the proper update range), subtract the value of the counter by the number of update ranges until the difference is within the update range. The gaming machine 4 is characterized in that the subtraction is repeated and the final difference is used as the value of the counter. The number of update ranges means, for example, "x + 1" when the counter is updated in the range of "0 to x", and "x" when the counter is updated in the range of "1 to x". Say.
[0077]
In any of the gaming machines or games 1 to 3 according to claim 1, the counters are updated by the first and second control means in an increasing direction, and the correction means of the second control means is the counter. The gaming machine 5. The gaming machine is characterized in that the value is divided by the number of update ranges and the remainder is used as the value of the counter. When dividing the counter value, it is determined whether the counter value is within the appropriate update range, and then the counter value is not within the appropriate update range (appropriate update). It may be configured to perform only when the value of the range is exceeded). The number of update ranges means, for example, "x + 1" when the counter is updated in the range of "0 to x", and "x" when the counter is updated in the range of "1 to x". Say.
[0078]
In any of the gaming machines or games 1 to 3 according to claim 1, the counters are updated by the first and second control means in a decreasing direction, and the correction means of the second control means is the counter. If the value is not within the proper update range (exceeds the value in the proper update range), the difference obtained by subtracting the value of the counter from the maximum update range of the counter is the value within the proper update range. If so, the difference obtained by subtracting the difference from the maximum value of the appropriate update range is used as the value of the counter, while the difference obtained by subtracting the value of the counter from the maximum update range of the counter is the value within the appropriate update range. If not, the difference is further subtracted by the number of update ranges, and the final difference obtained by repeating the subtraction until the difference becomes a value within the update range is subtracted from the maximum value of the appropriate update range to obtain the difference. A game machine 6 characterized in that it is a value of the counter. The number of update ranges means, for example, "x + 1" when the counter is updated in the range of "0 to x", and "x" when the counter is updated in the range of "1 to x". Say. Further, the maximum update range of the counter means the update range that the counter can take in terms of hardware, and is a range larger than the appropriate update range used for controlling the game. For example, the maximum update range is 0FFFFh when the counter is composed of 16 bits, and 0FFFh when the counter is composed of 8 bits.
[0079]
In any of the gaming machine or the gaming machines 1 to 6 according to claim 1, in the second control means, the value of the counter is updated by the first control means beyond an appropriate update range of the counter. In that case, the execution of the first control means is interrupted and the value of the counter is updated appropriately before the value of the counter becomes a value within the appropriate update range by the update by the first control means. A gaming machine 7, characterized in that the value is corrected to a value within the range. Therefore, even when the maximum update range of the counter is not configured by an integral multiple of the number of update ranges, the value of the counter can be continuously updated by the first control means and the second control means. The maximum update range of the counter means the update range that the counter can take in terms of hardware, and is a range larger than the appropriate update range used for controlling the game. For example, the maximum update range is 0FFFFh when the counter is composed of 16 bits, and 0FFFh when the counter is composed of 8 bits.
[0080]
In any of the gaming machine or the gaming machines 1 to 6 according to claim 1, in the second control means, the update of the value of the counter is updated by the first control means beyond the maximum update range of the counter. The gaming machine 8 is characterized in that the execution of the first control means is interrupted and the value of the counter is corrected to a value within an appropriate update range. Therefore, even when the maximum update range of the counter is not configured by an integral multiple of the number of update ranges, the value of the counter can be continuously updated by the first control means and the second control means. The maximum update range of the counter means the update range that the counter can take in terms of hardware, and is a range larger than the appropriate update range used for controlling the game. For example, the maximum update range is 0FFFFh when the counter is composed of 16 bits, and 0FFFh when the counter is composed of 8 bits.
[0081]
In any of the gaming machines or games 1 to 8 according to claim 1, the second control means is configured by an interrupt process that is periodically executed, and the first control means is a main process that does not depend on an interrupt. Alternatively, the gaming machine 9 is characterized in that it is configured by an interrupt process having a lower interrupt priority than the second control means. According to the game machine 9, one control means can execute two control means of the first control means and the second control means.
[882]
In any of the gaming machines or the gaming machines 1 to 9 according to claim 1, the second control means is periodically executed, and the execution time thereof is configured to change according to the state of the game. The first control means is a gaming machine characterized in that the value of the counter is updated by using the remaining time from the execution of the second control means to the execution of the next second control means. 10. Since the second control means is executed periodically and its execution time changes depending on the state of the game, the counter is updated by the first control means by using the remaining time after the execution of the second control means. Randomness can be added to the value of the counter to be updated. Moreover, since the value of the counter is also updated by the second control means, it is possible to continue updating the counter at least periodically regardless of the state of the game.
[0083].
11. The game machine 11 according to claim 1, wherein the counter is composed of a register built in the CPU in any of the game machines 1 to 10. Since the register built in the CPU is used for the counter, the memory usage can be reduced by that amount and the memory can be effectively used. As the register used as a counter, index registers IX and IY, which are generally infrequently used and are composed of 16 bits, are suitable.
[0084]
In any of the game machines or games 1 to 11 according to claim 1, a random number counter that is updated by the second control means and determines the occurrence of a jackpot, and a current value that stores the initial value of the update of the random number counter. It has an initial value memory, and when the value of the random number counter matches the value of the current initial value memory by updating, the value of the counter is written to the random number counter and the current initial value memory of the random number counter. The gaming machine 12 is provided with a changing means for changing the initial value of the update. Since the counter is updated randomly, by using the value of the counter as the initial value for updating the random number counter, it is possible to give randomness to the decision of the jackpot and improve the effect of preventing fraud. it can. Note that writing the counter value to the random number counter and the current initial value memory does not necessarily mean that the value read directly from the counter is written to each of the random number counter and the current initial value memory, and the value read from the counter is written to the random number counter. Write to, write the value written to the random number counter to the current initial value memory, or conversely, write the value read from the counter to the current initial value memory and write the value written to the current initial value memory to the random number counter. You can do it.
[0085]
13. The game machine 13 according to claim 1, further comprising a backup means for holding the value of the counter even after the power is turned off in any of the game machines 1 to 12. When the game machine 13 is added to the configuration of the game machine 12, not only the counter but also the random number counter and the value of the current initial value memory are configured to be held by the backup means even after the power is turned off.
0083.
14. The gaming machine 14 according to claim 1, wherein the gaming machine is a pachinko machine in any of the gaming machines 1 to 13. Among them, the basic configuration of the pachinko machine is provided with an operation handle, and the ball is launched into a predetermined game area according to the operation of the operation handle, and the ball wins a prize in the operation port arranged at a predetermined position in the game area. As a necessary condition (or passing through the operating port), the identification information that is variablely displayed on the display device may be fixedly stopped after a predetermined time. Further, at the time of output of the special gaming state, the variable winning device (specific winning opening) arranged at a predetermined position in the gaming area is opened in a predetermined manner to enable the ball to be won, and the value corresponding to the number of winnings is obtained. Some are given value (including not only the prize ball but also the information written on the magnetic card).
[0087]
15. The gaming machine 15 according to claim 1, wherein the gaming machine is a slot machine in any of the gaming machines 1 to 13. Among them, the basic configuration of the slot machine is "provided with a variable display means for variablely displaying an identification information string composed of a plurality of identification information and then confirming and displaying the identification information, which is caused by the operation of a starting operation means (for example, an operation lever). Then, the fluctuation of the symbol is started, and the fluctuation of the identification information is stopped due to the operation of the stop operation means (for example, the stop button) or after a predetermined time elapses, and the definite identification information at the time of the stop is released. It is a game machine provided with a special game state output means for outputting a special game state that is advantageous to the player, provided that the information is specific identification information. In this case, coins, medals, and the like are typical examples of the game medium.
[0088]
16. The gaming machine 16 according to claim 1, wherein the gaming machine is a fusion of a pachinko machine and a slot machine in any of the gaming machines 1 to 13. Among them, as a basic configuration of the fused gaming machine, "a variable display means for variablely displaying an identification information string composed of a plurality of identification information and then confirming and displaying the identification information is provided, and an operation means for starting (for example, an operation lever) The fluctuation of the identification information is started due to the operation, and the fluctuation of the identification information is stopped due to the operation of the stop operation means (for example, the stop button) or after a predetermined time has elapsed, and the determination at the time of the stop is confirmed. A special game state output means for outputting a special game state advantageous to the player is provided on the condition that the identification information is the specific identification information, the ball is used as the game medium, and when the identification information starts to fluctuate. Is a game machine that requires a predetermined number of balls and is configured so that a large number of balls are paid out when the special game state is output. "
[089]
【Effect of the invention】 The present inventionAccording to the pachinko machineThe value of the random number counter is updated by the random number counter updating means within a predetermined range, and is read out by the reading means at a predetermined opportunity. Then, when the value of the random number counter read by the reading means matches a predetermined value, the player is given a predetermined game value by the control means. Further, the value of the random number counter goes around by being updated a predetermined number of times by the random number counter updating means, and when the predetermined condition is satisfied, the random number counter updating means sets any value within the predetermined range as the initial value for updating. Update the next lap. The control means updates the initial value of the update of the random number counter updating means by the initial value changing means every time a predetermined condition is satisfied, and sets the initial value updated by the initial value changing means into a predetermined range by the initial value generating means. Generate in the same range. Further, the control means can retain the stored contents even after the power of the game machine is turned off by the holding storage means, and can execute a periodic process executed periodically and a predetermined process executed irregularly. .. Then, the initial value generating means executes the initial value update process composed of a plurality of bytes of data with one instruction in the register of the arithmetic means that executes the operation, and the initial value update process is a periodic process and a predetermined value. It is done in the process of.
[0090]
Here, since the initial value generation means executes the initial value update process composed of a plurality of bytes of data with one instruction in the register of the operation means that executes the operation, the initial value update process is periodically processed and the initial value update process is performed. Even when it is executed in a predetermined process, it is possible to preferably execute the update process of the initial value.
[0091]
Further, the control means has a writing means that allows the holding storage means to hold the initial value stored in the register when the power of the game machine is turned off. For example, the power of the game machine is turned on. The initial value when the power is turned off can be set as the value when the power of the game machine is turned off.
[Simple explanation of drawings]
FIG. 1 is a front view of a pachinko machine according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an electrical configuration of a pachinko machine.
FIG. 3 is a block diagram showing an electrical configuration of an MPU.
FIG. 4 is a flowchart showing an NMI interrupt process.
FIG. 5 is a flowchart showing a main process.
FIG. 6 is a flowchart showing a RAM clearing and initialization process.
FIG. 7 is a flowchart showing an IY register correction process.
FIG. 8 is a flowchart showing an INT interrupt process.
FIG. 9 is a flowchart showing a random number update process.
FIG. 10 is a flowchart showing an IY register correction process of the second embodiment.
[Explanation of symbols]
11 MPU
20 Type 1 start port switch
51 CPU
51a IY register (register)
54 User Work RAM
54b Random number counter(Random number counter, part of holding storage means)
54c Current initial value memory
C Main control board (control means)
P pachinko machine (game machine)
S72 IY register correction processing