JP4671604B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP4671604B2
JP4671604B2 JP2004002860A JP2004002860A JP4671604B2 JP 4671604 B2 JP4671604 B2 JP 4671604B2 JP 2004002860 A JP2004002860 A JP 2004002860A JP 2004002860 A JP2004002860 A JP 2004002860A JP 4671604 B2 JP4671604 B2 JP 4671604B2
Authority
JP
Japan
Prior art keywords
random number
value
random
circuit
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004002860A
Other languages
English (en)
Other versions
JP2005192841A (ja
Inventor
詔八 鵜川
正登 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sankyo Co Ltd
Original Assignee
Sankyo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sankyo Co Ltd filed Critical Sankyo Co Ltd
Priority to JP2004002860A priority Critical patent/JP4671604B2/ja
Publication of JP2005192841A publication Critical patent/JP2005192841A/ja
Application granted granted Critical
Publication of JP4671604B2 publication Critical patent/JP4671604B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、パチンコ遊技機やスロットマシン等の遊技機に係り、詳しくは、可変表示の実行条件が成立した後に可変表示の開始条件が成立したことに基づいて、各々が識別可能な複数種類の識別情報を可変表示する可変表示装置を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態に制御する遊技機に関する。
パチンコ遊技機やスロットマシン等の遊技機においては、複数種類の識別情報(以下、表示図柄)を可変表示装置における複数列の表示部にて可変表示し、その表示結果により所定の遊技価値を付与するか否かを決定する、いわゆる可変表示ゲームによって遊技興趣を高めたものがある。可変表示ゲームでは、例えば所定領域を通過する遊技球を検出したことやスタートレバーの操作を検出したことといった、所定の条件が成立したときに、表示図柄の可変表示が開始される。そして、表示図柄の可変表示が完全に停止した際の停止図柄態様が特定表示態様となっているときに、遊技者にとって有利な特定遊技状態(大当り遊技状態)となる。例えば、大当り遊技状態となったパチンコ遊技機は、大入賞口又はアタッカと呼ばれる特別電動役物を開放状態とし、遊技者に対して遊技球の入賞が極めて容易となる状態を一定時間継続的に提供する。
こうした遊技機において、「大当り」とするか否かを判定するために用いられる乱数(大当り判定用乱数)を、マイクロプロセッサが所定のアプリケーションプログラムを実行することにより生成するものが知られている(例えば、特許文献1)。
特開2002−282457号公報
しかしながら特許文献1に開示されている技術では、プログラムによって乱数を発生させるので、マイクロプロセッサにおける処理負担が大きい。特に、遊技制御のためのタイマ割込処理の実行中に乱数の更新処理を行っているため、遊技制御用と同様のプログラム開発が必要であり、また、限られた割込処理時間の間で乱数発生のための処理を開始・終了しなければならず、マイクロプロセッサの処理負担が増大するといった問題があった。
そこで、クロックパルス(又はこのクロックパルスを反転させた反転クロックパルス)の立ち上がりエッヂに応答してクロックカウント回路が更新したカウント値を、反転クロックパルス(又はクロックパルス)の立ち上がりエッヂに同期したラッチ信号に基づいて乱数値としてカウント値記憶回路に記憶することにより、ハードウェアによる乱数の発生を可能とした遊技機等も提案されている(例えば、特許文献2)。
特開2003−190483号公報
特許文献2に開示されている技術では、遊技機等の制御を実行するメインコントロール部と、このメインコントロール部の制御とは無関係に乱数を発生させる乱数発生装置との配置については、何ら考慮されていない。この点について、第三者機関による検査を容易にするとの観点から、遊技制御用のマイクロプロセッサに外付けされた乱数回路により乱数を生成するものが提案されている(例えば、特許文献3)。
特開2000−300813号公報
特許文献3に開示されている技術では、マイクロプロセッサとは別個に乱数発生用の回路を配置しなければならず、ハードウェア量が増加するとともに多くの基板スペースを占有してしまうことになる。また、例えば不正基板の設置等により、乱数回路で生成された乱数値を示す数値データが不正に書き換えられるといった、偽造を防止することが困難になるという問題があった。また、特許文献3の乱数回路は、一定周波数でパルスを連続して出力するパルスジェネレータからの出力を、例えば0〜1023といった、所定範囲において単調に1ずつカウントアップし、最大値に達した後に再度0(最小値)からカウントアップするようにしているだけなので、発生する乱数に周期性が発生するなどしてランダム性が低くなるおそれがあった。
この発明は、上記実状に鑑みてなされたものであり、基板スペースの確保及び偽造の防止を可能としつつ、ランダム性の高い乱数の発生を可能とする遊技機を提供することを目的とする。
上記目的を達成するため、本願の請求項1に記載の遊技機は、可変表示の実行条件(例えば普通可変入賞球装置6への入賞)が成立した後に可変表示の開始条件(例えば可変表示装置4における前回の可変表示及び大当り遊技状態の終了)が成立したことに基づいて、各々が識別可能な複数種類の識別情報(例えば特別図柄)を可変表示する可変表示装置(例えば可変表示装置4)を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態(例えば大当り遊技状態)に制御する遊技機(例えばパチンコ遊技機1)であって、遊技機に電力を供給する電力供給手段(例えば電源基板10)と、乱数(例えばランダムRなど)を発生する乱数回路(例えば乱数回路103)と遊技の進行を制御する遊技制御手段(例えばCPU106)とを内蔵し、前記電力供給手段から供給される電力を用いて動作するマイクロプロセッサ(例えば主基板11に搭載された遊技制御用マイクロプロセッサ100)と、所定の周期の基準クロック信号(例えば基準クロック信号CLK)を生成して前記乱数回路に出力するクロック信号生成手段(例えばクロック回路101)と、前記実行条件が成立したことに基づいて、始動信号(例えば始動入賞信号SS)を前記乱数回路と前記遊技制御手段とに出力する始動信号出力手段(例えば始動入賞口スイッチ70)と、前記マイクロプロセッサからの制御信号に基づいて前記可変表示装置における識別情報の可変表示を制御する可変表示制御手段(例えば表示制御基板12)とを備え、前記乱数回路は、前記クロック信号生成手段から出力される基準クロック信号を用いて乱数発生用クロック信号(例えば乱数発生用クロック信号S1)を生成し、該乱数発生用クロック信号を出力する乱数発生用クロック信号生成手段(例えばクロック信号出力回路124)と、前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号を反転させて反転クロック信号(例えば反転クロック信号S2)を生成し、該反転クロック信号を出力する反転クロック信号生成手段(例えば反転回路132)と、前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミング(例えば乱数発生用クロック信号S1がローレベルからハイレベルへと立上がるタイミングT11,T12,…など)において、数値データ(例えばカウント値C)を更新する数値更新手段(例えばカウンタ121)と、前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミング(例えばタイミングT22など)において、前記始動信号出力手段から入力される始動信号をラッチ信号(例えばラッチ信号SL)として出力するラッチ信号出力手段(例えばラッチ信号生成回路133)と、前記ラッチ信号出力手段から入力されるラッチ信号に応答して、前記数値更新手段により更新された数値データを乱数値(例えばランダムRの値など)として記憶する乱数値記憶手段(例えば乱数値記憶回路131)とを含み、前記遊技制御手段は、前記電力供給手段による電力の供給開始後、前記乱数回路に前記乱数値を更新させるための設定を行う乱数回路設定手段(例えばCPU106がステップS10の乱数回路設定処理を実行する部分)と、前記乱数回路設定手段により前記乱数回路に前記設定が行われた後、定期的(例えば2ミリ秒ごと)に発生するタイマ割込処理の実行を許可するタイマ割込処理実行許可手段(例えばCPU106がステップS14での処理を実行する部分)と、前記タイマ割込処理の実行中(例えばCPU106による遊技制御割込処理の実行中)、前記始動信号出力手段から始動信号が入力されたことに基づいて、前記乱数値記憶手段から乱数値を読み出して、該読み出した乱数値が所定の判定値データ(例えば「3」など)と合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段(例えばCPU106がステップS142の入賞処理とステップS150の特別図柄通常処理とステップS151の大当り判定処理とを実行する部分)と、前記表示結果決定手段が前記乱数値記憶手段から乱数値を読み出す前に、該乱数値記憶手段に出力制御信号(例えば出力制御信号SC)を出力して該乱数値記憶手段を読出可能状態に制御し、該表示結果決定手段が前記乱数値記憶手段から乱数値を読み出した後、該乱数値記憶手段への出力制御信号の出力を停止して該乱数値記憶手段を読出不能状態に制御する読出制御手段(例えばCPU106がステップS172及びステップS175の処理を実行する部分)とを含み、前記乱数値記憶手段は、前記ラッチ信号出力手段からラッチ信号が入力されているとき、前記読出制御手段から出力される出力制御信号に対して受信不能状態に制御する出力制御信号受信制御手段(例えばAND回路203など)を含む。
請求項2に記載の遊技機において、前記乱数回路は、該乱数回路が発生する乱数の最大値(例えば「255」など)を指定する乱数最大値設定データ(例えば乱数最大値設定データ「00FFh」など)を格納する乱数最大値設定レジスタ(例えば乱数最大値設定レジスタ135など)と、前記乱数最大値設定レジスタに格納された乱数最大値設定データに応じて前記数値更新手段による更新範囲(例えば「1」〜「255」までの範囲など)を規制する更新範囲規制手段(例えば比較器122)とを含み、前記乱数回路設定手段は、前記乱数最大値設定レジスタに乱数最大値設定データを書き込む乱数最大値設定データ書込手段(例えばCPU106がステップS21の処理を実行する部分など)を含む。
請求項3に記載の遊技機において、前記遊技制御手段は、前記乱数最大値設定手段が前記乱数最大値設定レジスタに書き込んだ前記乱数最大値設定データにより指定される前記乱数の最大値が所定の下限値(例えば「4」など)より小さいとき(乱数最大値設定データにより指定される乱数の最大値が「0」〜「3」のときなど)、該所定の下限値以上の所定値(例えば「4095」など)を指定する乱数最大値設定データ(例えば乱数最大値設定データ「0FFFh」など)を該乱数最大値設定レジスタに格納する。
請求項4に記載の遊技機において、前記数値更新手段は、前記数値データを所定の初期値(例えば「1」)から所定の最大値(例えば「4095」)まで循環的に更新し、前記乱数回路は、前記数値更新手段により数値データが前記所定の最大値まで更新されたとき、その旨を通知する通知信号(例えば図4に示す通知信号)を出力する通知信号出力手段(例えばカウンタ121が通知信号を出力する部分)を含み、前記遊技制御手段は、前記タイマ割込処理の実行中、前記通知信号出力手段から出力された通知信号に応答して前記数値更新手段により更新される数値データにおける前記所定の初期値を変更させる初期値変更手段(例えばCPU106がステップS104の初期値変更処理を実行する部分など)を含む。
請求項5に記載の遊技機において、前記初期値変更手段は、変更した初期値が前記乱数の最大値(例えば「255」など)より大きいとき(例えば変更された初期値が「256」のときなど)、該変更した初期値を再度変更させる手段(例えば図9に示すカウンタ121及び比較器122におけるカウント値の更新動作において、CPU106により変更された初期値が乱数最大値より大きい場合に、カウンタ121が変更された初期値のカウント値を比較器122に出力し、比較器122がカウンタ121にカウント値更新信号を出力して「4095」まで連続的にカウントアップさせて通知信号が出力されたことに応答して、CPU106がさらにステップS104の初期値変更処理を実行することにより、変更した初期値を再度変更させる部分)を含む。
請求項6に記載の遊技機において、前記乱数回路は、前記数値更新手段により更新される数値データの更新順である順列の変更を要求する数値順列変更データ(例えばカウント値順列変更データ「01h」)を格納する数値順列変更レジスタ(例えばカウント値順列変更レジスタ136)と、前記数値順列変更レジスタに前記数値順列変更データが格納されているとき、該数値順列変更データが格納されていないときの順列とは異なる更新順の順列に変更する数値順列変更手段(例えばカウント値順列変更回路123)とを含み、前記遊技制御手段は、前記タイマ割込処理の実行中、前記数値順列変更レジスタに前記数値順列変更データを書き込む数値順列変更データ書込手段(例えばCPU106がステップS105のカウント値順列変更処理を実行する部分)を含む。
請求項7に記載の遊技機において、前記乱数回路は、前記数値更新手段による数値データの更新を要求する数値更新データ(例えばカウント値更新データ「01h」)を格納する数値更新レジスタ(例えばカウント値更新レジスタ138)と、前記数値更新手段により更新された数値データを乱数値として前記乱数値記憶手段に記憶することを指示する数値取込データ(例えば乱数値取込データ「01h」)を格納する数値取込レジスタ(例えば乱数値取込レジスタ139)と、乱数値を更新する方式である第1及び第2の乱数更新方式のうちから選択された乱数更新方式を指定する乱数更新方式選択データ(例えば乱数更新方式選択データ「01b」、「10b」)を格納する乱数値更新方式選択レジスタ(例えば乱数更新方式選択レジスタ140)と、前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データ(例えば乱数更新方式選択データ「01b」)が格納されているとき、前記乱数発生用クロック信号生成手段から出力されている乱数発生用クロック信号に代えて、前記数値更新レジスタに前記数値更新データが書き込まれたことに応答して数値データの更新を指示する数値更新指示信号(例えばカウント値更新信号S3)を前記数値更新手段に出力し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データ(例えば乱数更新方式選択データ「10b」)が格納されているとき、前記乱数発生用クロック信号生成手段から出力されている乱数発生用クロック信号を前記数値更新手段に出力する更新信号選択手段(例えばセレクタ128)とを含み、前記乱数回路設定手段は、前記乱数回路に前記乱数値を更新させるための設定として、少なくとも前記第1及び前記第2の乱数更新方式のうちから選択された乱数更新方式を指定する前記乱数更新方式選択データを、前記乱数更新方式選択レジスタに書き込む更新方式設定手段(例えばCPU106がステップS22あるいはステップS32の処理を実行する部分)を含み、前記遊技制御手段は、前記タイマ割込処理の実行中、前記第1の乱数更新方式が選択されているとき、前記数値更新データを前記数値更新レジスタに書き込む数値更新データ書込手段(例えばCPU106がステップS196の乱数値更新処理を実行する部分)を含み、前記始動信号出力手段は、始動信号を出力するとき、前記数値取込レジスタに前記数値取込データを書き込み、前記数値更新手段は、前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記更新信号選択手段により選択されて入力される数値更新指示信号が前記所定の態様で変化するタイミング(例えばタイミングT32)において数値データを更新し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記更新信号選択手段により選択されて入力される前記乱数発生用クロック信号が所定の周期毎に前記所定の態様で変化するタイミング(例えばタイミングT11,T12,…など)において数値データを更新し、前記ラッチ信号出力手段は、前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記反転クロック信号生成手段から出力される反転クロック信号をラッチ信号(例えば図36(D)に示すラッチ信号SL)として出力し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記数値取込レジスタに前記数値取込データが書き込まれたことに応答して前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミング(例えばタイミングT22)においてラッチ信号(例えば図29(E)に示すラッチ信号SL)を出力する。
なお、更新信号選択手段は、乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、数値変更レジスタに数値変更データが書き込まれたことに応答して、乱数発生用クロック信号生成手段から出力されている乱数発生用クロック信号に同期した数値データの更新を指示する数値更新指示信号を、数値更新手段に出力してもよい。
請求項8に記載の遊技機において、前記乱数回路は、前記数値更新手段による数値データの更新周期を指定する周期設定データ(例えば周期設定データ「0Fh」など)を格納する周期設定レジスタ(例えば周期設定レジスタ137)を含み、前記乱数回路設定手段は、予め設定された更新周期を指定する前記周波数設定データを前記周期設定レジスタに書き込む周期設定手段(例えばCPU106がステップS23の処理を実行する部分)を含み、前記乱数発生用クロック信号生成手段は、前記周期設定レジスタに格納されている周期設定データに応じて前記クロック信号生成手段から出力される基準クロック信号の周期を変更して前記乱数発生用クロック信号として出力する。
請求項9に記載の遊技機において、前記遊技制御手段は、前記周期設定手段が前記周期設定レジスタに書き込んだ前記周期設定データにより指定される前記更新周期が所定の下限値(例えば「システムクロック信号の周期×128×7」など)より小さいとき(周期設定データにより指定されるクロック信号の周期が「0」〜「システムクロック信号の周期×128×6」のときなど)、該所定の下限値を指定する周期設定データ(例えば周期設定データ「07h」など)を該周期設定レジスタに格納する。
請求項10に記載の遊技機において、前記乱数回路は、該乱数回路の起動を要求する乱数回路起動データ(例えば乱数回路起動データ「80h」)を格納する乱数回路起動レジスタ(例えば乱数回路起動レジスタ141)と、前記乱数回路起動レジスタに前記乱数回路起動データが書き込まれたことに応答して、該乱数回路を起動させる乱数回路起動手段(例えば乱数回路起動信号出力回路130)とを含み、前記乱数回路設定手段は、前記乱数回路起動データを前記乱数回路起動レジスタに書き込む乱数回路起動設定手段(例えばCPU106がステップS24の処理を実行する部分など)を含む。
請求項11に記載の遊技機において、前記マイクロプロセッサは、該マイクロプロセッサをシステムリセットするシステムリセット手段(例えばリセットコントローラ102)を含み、前記乱数回路起動設定手段は、前記システムリセット手段により前記マイクロプロセッサがシステムリセットされたとき(例えばステップS6又はステップS7にてNoと判定されたとき)、前記乱数回路起動データを前記乱数回路起動レジスタに再度書き込んで前記乱数回路を起動させる(例えばCPU106がステップS9に続くステップS10の乱数回路設定処理においてステップS24の処理を実行する)。
請求項12に記載の遊技機において、前記乱数回路は、前記始動信号出力手段から始動信号が入力されている時間を計測し、該計測した時間が所定の時間(例えば3ミリ秒)になったとき、該始動信号を前記ラッチ信号出力手段に出力するタイマ手段(例えばタイマ回路134)を含む。
請求項13に記載の遊技機において、前記表示結果決定手段は、前記タイマ割込処理の実行回数が所定回(例えば2回)に達するまでの間(例えば4ミリ秒間)、前記始動信号出力手段から始動信号が継続して入力されたことに基づいて、前記乱数値記憶手段から乱数値を読み出し、前記タイマ手段は、前記タイマ割込処理の実行回数が前記所定回に達するまでの時間よりも短い時間を前記所定の時間として設定する設定手段(例えばタイマ回路134が2回の遊技制御割込処理の実行時間である4ミリ秒よりも短い時間として3ミリ秒を設定する部分など)を含み、前記計測した時間が前記設定手段により所定の時間として設定された時間になったとき、前記始動信号を前記ラッチ信号出力手段に出力する。
請求項1に記載の遊技機において、前記乱数値記憶手段は、前記読出制御手段から出力制御信号が入力されているとき、前記ラッチ信号出力手段から出力されるラッチ信号に対して受信不能状態に制御するラッチ信号受信制御手段(例えばAND回路201など)を含む。
請求項1に記載の遊技機は、可変表示の実行条件(例えば普通可変入賞球装置6への入賞)が成立した後に可変表示の開始条件(例えば可変表示装置4における前回の可変表示及び大当り遊技状態の終了)が成立したことに基づいて、各々が識別可能な複数種類の識別情報(例えば特別図柄)を可変表示する可変表示装置(例えば可変表示装置4)を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態(例えば大当り遊技状態)に制御する遊技機(例えばパチンコ遊技機1)であって、遊技機に電力を供給する電力供給手段(例えば電源基板10)と、乱数(例えばランダムRなど)を発生する乱数回路(例えば乱数回路103)と遊技の進行を制御する遊技制御手段(例えばCPU106)とを内蔵し、前記電力供給手段から供給される電力を用いて動作するマイクロプロセッサ(例えば主基板11に搭載された遊技制御用マイクロプロセッサ100)と、所定の周期の基準クロック信号(例えば基準クロック信号CLK)を生成して前記乱数回路に出力するクロック信号生成手段(例えばクロック回路101)と、前記実行条件が成立したことに基づいて、始動信号(例えば始動入賞信号SS)を前記遊技制御手段に出力する始動信号出力手段(例えば始動入賞口スイッチ70)と、前記マイクロプロセッサからの制御信号に基づいて前記可変表示装置における識別情報の可変表示を制御する可変表示制御手段(例えば表示制御基板12)とを備え、前記遊技制御手段は、前記電力供給手段による電力の供給開始後、前記乱数回路に前記乱数値を更新させるための設定を行う乱数回路設定手段(例えばCPU106がステップS10の乱数回路設定処理を実行する部分)と、前記乱数回路設定手段により前記乱数回路に前記設定が行われた後、定期的(例えば2ミリ秒ごと)に発生するタイマ割込処理の実行を許可するタイマ割込処理実行許可手段(例えばCPU106がステップS14での処理を実行する部分)と、前記タイマ割込処理の実行中(例えばCPU106による遊技制御割込処理の実行中)、前記始動信号出力手段から始動信号が入力されたことに基づいて、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段(例えばCPU106がステップS150の特別図柄通常処理とステップS151の大当り判定処理とを実行する部分など)と、前記タイマ割込処理の実行中、前記始動信号出力手段から始動信号が入力されたことに基づいて、ラッチ用始動信号(例えばラッチ用始動入賞信号SN)を生成して前記乱数回路に出力するラッチ用始動信号出力手段(例えばCPU106がステップS254の処理を実行する部分)とを含み、前記乱数回路は、前記クロック信号生成手段から出力される基準クロック信号を用いて乱数発生用クロック信号(例えば乱数発生用クロック信号S1)を生成し、該乱数発生用クロック信号を出力する乱数発生用クロック信号生成手段(例えばクロック信号出力回路124)と、前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号を反転させて反転クロック信号(例えば反転クロック信号S2)を生成し、該反転クロック信号を出力する反転クロック信号生成手段(例えば反転回路132)と、前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミング(例えば乱数発生用クロック信号S1がローレベルからハイレベルへと立上がるタイミングT51,T52,…など)において、数値データ(例えばカウント値C)を更新する数値更新手段(例えばカウンタ121)と、前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミング(例えばタイミングT62など)において、前記ラッチ用始動信号出力手段から入力されるラッチ用始動信号をラッチ信号(例えばラッチ信号SL)として出力するラッチ信号出力手段と、前記ラッチ信号出力手段から入力されるラッチ信号に応答して、前記数値更新手段により更新された数値データを乱数値(例えばランダムRの値など)として記憶する乱数値記憶手段(例えば乱数値記憶回路131)とを含み、前記表示結果決定手段は、前記乱数記憶手段から乱数値を読み出して(例えばCPU106がステップS256〜S262の処理を実行して)、該読み出した乱数値が所定の判定値データ(例えば「3」など)と合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定し、前記遊技制御手段は、前記表示結果決定手段が前記乱数値記憶手段から乱数値を読み出す前に、該乱数値記憶手段に出力制御信号を出力して該乱数値記憶手段を読出可能状態に制御し、該表示結果決定手段が前記乱数値記憶手段から乱数値を読み出した後、該乱数値記憶手段への出力制御信号の出力を停止して該乱数値記憶手段を読出不能状態に制御する読出制御手段を含み、前記乱数値記憶手段は、前記ラッチ信号出力手段からラッチ信号が入力されているとき、前記読出制御手段から出力される出力制御信号に対して受信不能状態に制御する出力制御信号受信制御手段を含む
本発明は、以下に示す効果を有する。
請求項1に記載の構成によれば、乱数回路は遊技制御手段とともにマイクロプロセッサに内蔵されていることから、基板スペースを確保することができる。また、乱数回路をマイクロプロセッサに内蔵させたことで、不正基板の設置等によって乱数回路で生成された乱数値を示す数値データを外部から書き換えることが困難になり、偽造の防止を図ることができる。さらに、マイクロプロセッサは、乱数回路設定手段による設定に従って乱数値記憶手段に記憶される乱数値の更新動作を制御できるため、例えば遊技機毎に異なる設定を行うことにより、乱数値記憶手段から読み出されて可変表示における表示結果を特定表示結果とするか否かの決定等に用いられる乱数のランダム性を高めることができる。加えて、数値更新手段は、乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミングにおいて数値データを更新し、ラッチ信号出力手段は、反転クロック信号生成手段により乱数発生用クロック信号を反転させることで生成された反転クロック信号が所定の態様で変化するタイミングにおいて始動信号をラッチ信号として出力する。これにより、乱数値の取得を確実且つ安定的に行うことができる。また、この構成によれば、始動信号が入力されたことに基づいて、表示結果決定手段が乱数値記憶手段から乱数値を読み出すため、無駄な処理を省略することができる。加えて、表示結果決定手段が乱数値を読み出すときのみ、乱数値記憶手段を読出可能状態にすることができるため、乱数値の取得を確実且つ安定的に行うことができる。さらに、乱数値記憶手段に記憶されている乱数値が更新されているときに、表示結果決定手段により乱数値記憶手段から乱数値が読み出されることを防止することができるため、乱数値の更新を確実且つ安定的に行うことができる。
請求項2に記載の構成によれば、予め設定された前記乱数の最大値を上限として、乱数値更新手段に格納されている乱数値を更新することができるため、遊技機毎に異なる乱数の最大値を設定することにより、乱数値記憶手段から読み出され、可変表示における表示結果を特定表示結果とする否かを決定するのに用いられる乱数のランダム性を高めることができる。
請求項3に記載の構成によれば、所定の下限値以下の値が乱数の最大値として乱数回路に設定されることを防止することができる。
請求項4に記載の構成によれば、数値更新手段により更新される数値データにおける所定の初期値を変更して、数値データが所定の初期値から所定の最終値まで更新される周期の検出を困難にすることにより、乱数値記憶手段から読み出した乱数値が所定の判定値データと合致するタイミングを狙って所定の信号を出力し、特定遊技状態を頻発させるといった不正行為を防止することができる。
請求項5に記載の構成によれば、初期値変更手段により変更された初期値が乱数回路に設定された乱数の最大値より大きいとき、さらに初期値を変更させることができるため、乱数値記憶手段に出力される数値データが乱数の最大値より大きくなることを防止することができる。
請求項6に記載の構成によれば、乱数値記憶手段に入力される数値データの更新順である順列を変更させることにより、乱数値記憶手段から読み出され、可変表示における表示結果を特定表示結果とする否かを決定するのに用いられる乱数のランダム性を高めることができる。
請求項7に記載の構成によれば、選択した乱数更新方式により乱数値記憶手段に乱数値を記憶させることができるため、遊技機毎に異なる乱数更新方式を選択することにより、乱数値記憶手段から読み出され、可変表示における表示結果を特定表示結果とするか否かを決定するのに用いられる乱数のランダム性を高めることができる。また、数値更新手段が数値データを更新するタイミングや、乱数値記憶手段に数値データを乱数値として記憶させるタイミングを指定することができるので、更新されていない乱数値が読み出されることを防止することができる。
請求項8に記載の構成によれば、予め設定された周期毎に数値更新手段による数値データの更新を行い、更新された数値データを乱数値記憶手段に乱数値として記憶させて乱数値の更新を行うことができるので、遊技機毎に異なる周期を設定することにより、乱数値記憶手段から読み出され、可変表示における表示結果を特定表示結果とする否かを決定するのに用いられる乱数のランダム性を高めることができる。
請求項9に記載の構成によれば、所定の下限値以下の値が更新周期として乱数回路に設定されることを防止することができる。
請求項10に記載の構成によれば、乱数回路に乱数値を更新させるための設定を行った後、乱数回路を起動させることができるため、電力の供給開始後、乱数回路の設定を行う前に、乱数回路が乱数の発生を開始してしまうといった不具合を防止することができる。
請求項11に記載の構成によれば、システムリセット手段によりシステムリセットされたときであっても、乱数回路を再度起動させることができる。
請求項12に記載の構成によれば、乱数回路は、始動信号出力手段から入力される始動信号をラッチ信号出力手段に直接出力するのではなく、始動信号の入力時間をタイマ手段により計測し、計測時間が予め設定された時間になったときに、始動信号をラッチ信号出力手段に出力する。このため、ラッチ信号出力手段がノイズの影響等により誤って乱数値記憶手段にラッチ信号を出力することを防止することができる。
請求項13に記載の構成によれば、タイマ手段には、タイマ割込処理の実行回数が所定回に達するまでの時間よりも短い時間が前記所定の時間として設定されているため、表示結果決定手段が乱数値記憶手段から読み出した乱数値が前回読み出した乱数値と同じ値になることを防止することができる。
請求項1に記載の構成によれば、乱数回路は、表示結果決定手段が乱数値記憶手段から乱数値を読み出しているときに、乱数値記憶手段に記憶されている乱数値が更新されることを防止することができるため、乱数値の取得を確実且つ安定的に行うことができる。
請求項1に記載の構成によれば、乱数回路は遊技制御手段とともにマイクロプロセッサに内蔵されていることから、基板スペースを確保することができる。また、乱数回路をマイクロプロセッサに内蔵させたことで、不正基板の設置等によって乱数回路で生成された乱数値を示す数値データを外部から書き換えることが困難になり、偽造の防止を図ることができる。さらに、マイクロプロセッサは、乱数回路設定手段による設定に従って乱数値記憶手段に記憶される乱数値の更新動作を制御できるため、例えば遊技機毎に異なる設定を行うことにより、乱数値記憶手段から読み出されて可変表示における表示結果を特定表示結果とするか否かの決定等に用いられる乱数のランダム性を高めることができる。加えて、数値更新手段は、乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミングにおいて数値データを更新し、ラッチ信号出力手段は、反転クロック信号生成手段により乱数発生用クロック信号を反転させることで生成された反転クロック信号が所定の態様で変化するタイミングにおいて、遊技制御手段から入力されるラッチ用始動信号をラッチ信号として出力する。これにより、乱数値の取得を確実且つ安定的に行うことができる。また、この構成によれば、始動信号が入力されたことに基づいて、表示結果決定手段が乱数値記憶手段から乱数値を読み出すため、無駄な処理を省略することができる。さらに、ラッチ用始動信号出力手段は、始動信号出力手段から始動信号が入力されたことに基づいて、ラッチ信号出力手段にラッチ用始動信号を出力するため、始動信号出力手段から乱数回路へ始動信号を供給するための経路を設ける必要がない。このため、遊技機のハードウェア構成を簡素化できる。加えて、表示結果決定手段が乱数値を読み出すときのみ、乱数値記憶手段を読出可能状態にすることができるため、乱数値の取得を確実且つ安定的に行うことができる。さらに、乱数値記憶手段に記憶されている乱数値が更新されているときに、表示結果決定手段により乱数値記憶手段から乱数値が読み出されることを防止することができるため、乱数値の更新を確実且つ安定的に行うことができる。
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。なお、以下の説明においてリーチ表示状態とは、表示結果として導出表示した図柄(リーチ図柄という)が大当り図柄の一部を構成しているときに未だ導出表示していない図柄(リーチ可変図柄という)については可変表示が行われている状態、あるいは、全て又は一部の図柄が大当り図柄の全て又は一部を構成しながら同期して可変表示している状態のことである。具体的には、予め定められた複数の表示領域に、予め定められた図柄が停止することで大当りとなる有効ラインが定められ、その有効ライン上の一部の表示領域に予め定められた図柄が停止しているときに未だ停止していない有効ライン上の表示領域において可変表示が行われている状態(例えば、左、中、右の表示領域のうち左、右の表示領域には大当り図柄の一部となる(例えば「7」)が停止表示されている状態で中の表示領域は未だ可変表示が行われている状態)、あるいは、有効ライン上の表示領域の全て又は一部の図柄が大当り図柄の全て又は一部を構成しながら同期して可変表示している状態(例えば、左、中、右の表示領域の全てで可変表示が行われてどの状態が表示されても同一の図柄が揃っている態様で可変表示が行われている状態)である。
本実施例における遊技機は、LCD等からなる画像表示装置により特図ゲームを行う遊技機であり、プリペイドカードによって球貸しを行うカードリーダ(CR:Card Reader)式のパチンコ遊技機や、LCDを搭載したスロットマシン等の遊技機である。
図1は、本実施例におけるパチンコ遊技機の正面図であり、主要部材の配置レイアウトを示す。パチンコ遊技機(遊技機)1は、大別して、遊技盤面を構成する遊技盤(ゲージ盤)2と、遊技盤2を支持固定する遊技機用枠(台枠)3と、から構成されている。遊技盤2にはガイドレールによって囲まれた、ほぼ円形状の遊技領域が形成されている。この遊技領域のほぼ中央位置には、各々が識別可能な識別情報として特別図柄を可変表示可能に表示する可変表示装置4が設けられている。この可変表示装置4の下側には、普通可変入賞球装置(始動入賞口)6が配置されている。普通可変入賞球装置6の下側には、特別可変入賞球装置(大入賞口)7が配置されている。また、可変表示装置4の上部には、普通図柄表示器40が設けられている。
可変表示装置4は、複数の表示領域において識別情報としての図柄を可変表示するLCD(Liquid Crystal Display)モジュール等を備えて構成され、例えば、普通可変入賞球装置6に遊技球が入賞することが実行条件となる特図ゲームにおいて、数字、文字、図柄等から構成される3つの表示図柄(特別図柄)の可変表示を開始し、一定時間が経過すると、左、右、中の順で表示図柄を確定する。可変表示装置4には、普通可変入賞球装置6に入った有効入賞球数すなわち始動記憶数を表示する4つの始動記憶表示エリアが設けられていてもよい。
この実施の形態では、図柄番号が偶数である特別図柄を通常大当り図柄とし、図柄番号が奇数である特別図柄を確変大当り図柄とする。すなわち、可変表示装置4による特図ゲームにおいて、特別図柄の可変表示を開始した後、左・中・右の表示領域にて同一の特別図柄が表示結果として導出表示されて確定したときには、パチンコ遊技機1は、大当り遊技状態となる。ここで、可変表示装置4による特図ゲームにおいて、特別図柄の可変表示を開始した後、左・中・右の表示領域にて同一の確変大当り図柄が表示結果として導出表示されて確定したときには、パチンコ遊技機1は大当り遊技状態の終了に続いて特別遊技状態(確率向上状態)となり、以後、所定条件が成立するまで特図ゲームにおける表示結果が大当り組合せとなる確率が向上する。また、確率向上状態では、普通可変入賞球装置6の開放時間が通常遊技状態よりも長くなるとともに、その開放回数が通常遊技状態のときよりも増加するなど、大当り遊技状態とは異なる遊技者にとって有利な状態となる。なお、通常遊技状態とは、大当り遊技状態や確率向上状態以外の遊技状態のことである。
普通図柄表示器40は、発光ダイオード(LED)等を備えて構成され、遊技領域に設けられた所定の通過ゲートを遊技球が通過することを実行条件とする普通図ゲームにおいて、点灯、点滅、発色などが制御される。この普通図ゲームにおいて所定の当りパターンで表示が行われると、普通図ゲームにおける表示結果が「当り」となり、普通可変入賞球装置6を構成する電動チューリップの可動翼片を所定時間が経過するまで傾動制御する。
普通可変入賞球装置6は、ソレノイド21(図3)によって垂直(通常開放)位置と傾動(拡大開放)位置との間で可動制御される一対の可動翼片を有するチューリップ型役物(普通電動役物)を備えて構成される。普通可変入賞球装置6への遊技球の入賞に基づく特別図柄の可変表示は、所定回数(本実施形態では、4回)まで後述する特図保留メモリ170(図25)に記憶される。
特別可変入賞球装置7は、ソレノイド22(図3)によって入賞領域を開成・閉成制御する開閉板を備える。この開閉板は、通常時には閉成し、普通可変入賞球装置6への遊技球の入賞に基づいて可変表示装置4による特図ゲームが行われた結果、大当り遊技状態となった場合に、ソレノイド22によって入賞領域を所定期間(例えば、29秒)あるいは所定個数(例えば、10個)の入賞球が発生するまで開成(開成サイクル)する状態となるように設定され、その開成している間に遊技領域を落下する遊技球を受け止める。そして、この開成サイクルを例えば最高16回繰り返すことができるようになっている。特別可変入賞球装置7に入賞した遊技球は、所定の検出部により検出される。入賞球の検出に応答し、後述する主基板11と払出制御基板15(図2)とにより、所定数の賞球の払い出しが行われる。
また、遊技盤2の表面には、上記した構成以外にも、ランプを内蔵した風車、アウト口等が設けられている。また、パチンコ遊技機1には、点灯又は点滅する遊技効果ランプ9や効果音を発生するスピーカ8L、8Rが設けられている。
図2は、パチンコ遊技機1の背面図であり、主要基板の配置レイアウトを示す。本実施例におけるパチンコ遊技機1は、主として、電力供給手段として機能する電源基板10と、主基板11と、表示制御基板12と、音声制御基板13と、ランプ制御基板14と、払出制御基板15と、情報端子基板16と、を備え、それぞれ適所に配設されている。なお、表示制御基板12、音声制御基板13及びランプ制御基板14は、それぞれ独立した基板として、例えば、パチンコ遊技機1の裏面において、1つのボックスに収容された状態で配置されてもよい。さらに、表示制御基板12、音声制御基板13及びランプ制御基板14を、まとめて1つの基板として構成してもよい。
電源基板10は、パチンコ遊技機1内の各回路に所定の電力を供給するものである。
主基板11は、メイン側の制御基板であり、パチンコ遊技機1における遊技の進行を制御するための各種回路が搭載されている。主基板11は、主として、所定位置に配設されたスイッチ等からの信号の入力を行う機能、表示制御基板12と音声制御基板13とランプ制御基板14と払出制御基板15となどからなるサブ側の制御基板に対して、それぞれ指令情報の一例となる制御データを出力して送信する機能、ホールの管理コンピュータに対して各種情報を出力する機能などを備えている。
主基板11から表示制御基板12へ送信される制御コマンドは表示制御コマンドである。図3は、主基板11における回路構成、及び主基板11から表示制御基板12に送信される表示制御コマンドの信号線等を示すブロック図である。図3に示すように、この実施の形態では、表示制御コマンドが、表示制御信号CD0〜CD7の8本の信号線で主基板11から表示制御基板12に対して送出される。また、主基板11と表示制御基板12との間には、ストローブ信号を送受するための表示制御INT信号の信号線も配線されている。
主基板11には、図3に示すように、始動入賞口スイッチ70からの配線が接続されている。また、主基板11には、大入賞口である特別可変入賞球装置7や、その他の入賞口への遊技球の入賞等を検出するための各種スイッチからの配線も接続されている。さらに、主基板11には、普通可変入賞球装置6における可動翼片の可動制御や特別可変入賞球装置7における開成・閉成制御を行うためのソレノイド21、22への配線が接続されている。
主基板11は、遊技制御用マイクロプロセッサ100、スイッチ回路109、ソレノイド回路110などを搭載して構成される。遊技制御用マイクロプロセッサ100は、例えば1チップマイクロプロセッサであり、クロック回路101、システムリセット手段として機能するリセットコントローラ102、乱数回路103、ゲーム制御用のプログラム等を記憶するROM(Read Only Memory)104、ワークメモリとして使用されるRAM(Random Access Memory)105、制御動作を行うCPU(Central Processing Unit)106、CPUに割込要求信号を送出するCTC(Counter Timer Circuit)107及びI/O(Input/Output)ポート108を内蔵している。
クロック回路101は、システムクロック信号をCPU106に出力し、このシステムクロック信号を2(=128)分周して生成した所定の周期の基準クロック信号CLKを、乱数回路103に出力する。リセットコントローラ102は、ローレベルの信号が一定期間入力されたとき、CPU106及び乱数回路103等に所定の初期化信号を出力して、遊技制御用マイクロプロセッサ100をシステムリセットする。
図4は、乱数回路103の構成例を示すブロック図である。図4に示すように、乱数回路103は、数値更新手段として機能するカウンタ121と、更新範囲規制手段として機能する比較器122と、数値順列変更手段として機能するカウント値順列変更回路123と、乱数発生用クロック信号生成手段として機能するクロック信号出力回路124と、カウント値更新信号出力回路125と、乱数値読取信号出力回路126と、乱数更新方式選択信号出力回路127と、更新信号選択手段として機能するセレクタ128と、乱数回路起動信号出力回路130と、乱数値記憶手段として機能する乱数値記憶回路131と、反転クロック信号生成手段として機能する反転回路132と、ラッチ信号出力手段として機能するラッチ信号生成回路133と、タイマ手段として機能するタイマ回路134とから構成されている。乱数回路103は、例えば、大当りを発生させてパチンコ遊技機1を大当り遊技状態とするか否かを決定する大当り判定用の乱数であるランダムRを発生する。
カウンタ121は、セレクタ128により選択されて入力される信号に応答して、出力するカウント値Cを、一定の規則に従って、初期値から最終値まで循環的に更新する。そして、カウンタ121は、カウント値Cを最終値まで更新すると、その旨を通知する通知信号をCPU106に出力し、この通知信号に応答したCPU106により初期値が変更される。この実施の形態において、カウンタ121は、セレクタ128からの信号における立ち上がりエッヂが入力される毎に、カウント値Cを「1」から「4095」まで1ずつカウントアップして行き、「4095」までカウントアップすると、その旨を通知する通知信号をCPU106に出力する。そして、この通知信号に応答したCPU106により、初期値が変更され、カウンタ121は、この変更された初期値から再び「4095」までカウントアップする。
カウント値順列変更回路123は、カウント値の更新順である順列の変更を要求するカウント値順列変更データ「01h」を格納するカウント値順列変更レジスタ(RSC)136と、更新規則選択レジスタ(RRC)142と、更新規則メモリ143と、を備える。カウント値順列変更回路123は、カウント値順列変更レジスタ136に数値順列変更データ「01h」が格納されているとき、カウント値順列変更データ「01h」が格納されていないときの順列とは異なる順列に変更する。
図5は、更新規則選択レジスタ142の構成例を示すブロック図である。図5に示すように、更新規則選択レジスタ142は、8ビットレジスタであり、その初期値は、「0(=00h)」に設定されている。更新規則選択レジスタ142は、ビット0〜ビット3が書込可能及び読出可能に、ビット4〜ビット7が書込不能及び読出不能に構成されている。したがって、更新規則選択レジスタ142のビット4〜ビット7に値を書き込んでも、その値は無効であり、ビット4〜ビット7から読み出した値は全て「0(=0000b)」となる。
更新規則選択レジスタ142の値(レジスタ値)は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」が書き込まれたことに応答して、「0(=00h)」から「15(=0Fh)」まで循環的に更新される。すなわち、カウント値順列変更レジスタ136にカウント値順列データ「01h」が書き込まれる毎に、レジスタ値は、「0」から「1」ずつ加算され、「15」になると再び「0」に戻る。
図6は、更新規則メモリ143の構成例を示すブロック図である。図6に示すように、更新規則メモリ143は、カウント値の更新規則と、更新規則選択レジスタ142の値と、を対応付けて格納している。更新規則メモリ143には、カウンタ121の更新規則と同一の更新規則Aがレジスタ値「0」と対応して格納され、カウンタ121の更新規則とは異なる更新規則B〜Pがレジスタ値「1」〜「15」と対応して格納されている。
図4に示すカウント値順列変更回路123は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」が書き込まれているとき、カウンタ121からカウント値の最終値「4095」が入力されると、更新されたレジスタ値に基づいて、更新規則メモリ143のうちから更新規則を選択して設定することにより、出力するカウント値の更新規則を切り替える。そして、カウント値順列変更回路123は、カウンタ121からの入力に応答して、この切り替えた更新規則に従って、カウント値を更新して出力する。
このように、カウント値順列変更回路123は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」が書き込まれたことに応答して、更新規則を切り替えることにより、出力するカウント値の順列を変更する。
図7は、カウント値順列変更回路123におけるカウント値順列の変更動作の説明図である。図7に示すように、CPU106により所定のタイミングにカウント値順列変更データ「01h」がカウント値順列変更レジスタ136に書き込まれると、レジスタ値は、1加算され、例えば「0」から「1」に更新される。この後、カウント値順列変更回路123は、カウンタ121からカウント値の最終値「4095」が入力されるまで、更新前のレジスタ値「0」に対応する「更新規則A」に従ってカウント値を更新して出力する。このとき、カウント値順列変更回路123から出力されるカウント値の順列は、「1→2→…→4095」である。
そして、カウンタ121からカウント値の最終値「4095」が入力されると、カウント値順列変更回路123は、更新規則メモリ143から、更新後のレジスタ値「1」に対応する「更新規則B」を選択して設定する。カウント値順列変更回路123は、カウンタ121からの入力に応答して、この選択設定した「更新規則B」に従って、カウント値を更新して出力する。これにより、カウント値順列変更回路123から出力されるカウント値の順列は、「1→2→…→4095」から「4095→4094→…→1」に変更される。
この後、後述するようにカウント値順列変更レジスタ136は初期化され、カウント値順列変更回路123から出力されるカウント値の順列は、「4095→4094→…→1」のままとなる。
CPU106によりカウント値順列変更データ「01h」がカウント値順列変更レジスタ136に再度書き込まれると、レジスタ値は「1」から「2」に更新される。そして、カウンタ121からカウント値の最終値「4095」が入力されると、カウント値順列変更回路123は、更新規則メモリ143から、レジスタ値「2」に対応する「更新規則C」を選択して設定する。カウント値順列変更回路123は、カウンタ121からの入力に応答して、この選択設定した「更新規則C」に従って、カウント値を更新して出力することにより、カウント値の順列は、さらに変更され、「1→3→…→4095→2…→4094」となる。
このように、カウント値順列変更レジスタ136が初期化された後、カウント値順列データ「01h」をカウント値順列変更レジスタ136に再度書き込むことにより、変更したカウント値の順列をさらに変更することができる。
図8は、カウント値順列変更レジスタ136の構成例を示す図である。図8に示すように、カウント値順列変更レジスタ136は、読出可能な8ビットレジスタであり、その初期値は、「0(=00h)」に設定されている。また、カウント値順列変更レジスタ136は、ビット0のみが書込可能及び書込可能に構成され、したがって、ビット1〜ビット7に値を書き込んでも、その値は無効であり、ビット1〜ビット7から読み出した値は全て「0(=0000000b)」となる。
なお、カウント値順列変更回路123が、切り替えた更新規則に従ってカウント値の更新動作を開始したことに応答して、CPU106は、カウント値順列変更データ「01h」が書き込まれたカウント値順列変更レジスタ136を初期化して格納されている値を初期値である「0(=00h)」に戻す。
図4に示す比較器122は、ランダムRの最大値(乱数最大値)を指定する乱数最大値設定データを格納する乱数最大値設定レジスタ(RMX)135を備える。比較器122は、乱数最大値設定レジスタ135に格納されている乱数最大値設定データに応じて、カウンタ121によるカウント値の更新範囲を規制する。この実施の形態において、カウンタ121から入力されたカウント値と乱数最大値設定レジスタ135に格納されている乱数最大値設定データ(例えば「00FFh」)により指定される乱数最大値(例えば「255」)とを比較し、入力されたカウント値が乱数最大値以下のとき、入力されたカウント値を乱数値記憶回路131に出力し、入力されたカウント値が乱数最大値より大きいとき、カウント値更新信号をカウンタ121に出力する。
図9は、カウンタ121及び比較器122におけるカウント値の更新動作の説明図である。なお、図9では、カウント値順列変更回路123において更新規則Aが選択され、乱数最大値を「255」と設定した場合を例に説明する。
入力されるカウント値が「1」から「255」までのとき、比較器122は、この入力されたカウント値をそのまま乱数値記憶回路131に出力する。そして、入力されるカウント値が乱数最大値「255」より大きい値「256」になると、比較器122は、カウンタ121にカウント値更新信号を出力してカウント値を「257」に更新させる。このような動作を繰り返すことにより、比較器122は、入力されるカウント値をカウンタ121により「256」から「4095」まで連続的にカウントアップさせる。そして、カウンタ121は、「4095」までカウントアップすると、その旨を通知する通知信号をCPU106に出力する。
この通知信号に応答したCPU106により変更された初期値が乱数最大値「255」より大きい場合(例えば「256」)、カウンタ121は、この変更された初期値のカウント値を比較器122に出力し、比較器122は、カウンタ121にカウント値更新信号を出力してカウント値を更新させる。このような動作を繰り返すことにより、比較器122は、入力されるカウント値をカウンタ121により「4095」まで連続的にカウントアップさせ、カウンタ121に通知信号を出力させる。そして、この通知信号に応答したCPU106により、初期値がさらに変更される。このようにして、初期値は、乱数最大値以下の値になるまで変更される。そして、この通知信号に応答したCPU106により変更された初期値が乱数最大値「255」以下になった場合(例えば「15」)、カウンタ121は、この変更された初期値のカウント値を比較器122に出力し、比較器122は、入力されたカウント値をそのまま乱数値記憶回路131に出力する。
上記説明したカウンタ121及び比較器122における動作により、乱数最大値設定レジスタ135に格納されている乱数最大値以下のカウント値のみを乱数値記憶回路131に出力することにより、乱数回路103は、乱数最大値設定レジスタ135に格納した乱数最大値「255」を上限としたランダムRを発生することができる。また、初期値が乱数最大値以下になるまで変更されることにより、乱数値記憶回路131には、乱数最大値「255」以下の値が、変更された初期値として入力される。
図10は、乱数最大値設定レジスタ135の構成例を示すブロック図である。図10に示すように、乱数最大値設定レジスタ135は、16ビットレジスタであり、その初期値は、「4095(=0FFFh)」に設定されている。乱数最大値設定レジスタ135は、ビット0〜ビット11が書込可能及び読出可能に、ビット12〜ビット15が書込不能及び読出不能に構成されている。したがって、乱数最大値設定レジスタ135のビット12〜ビット15に値を書き込んでも、その値は無効であり、ビット12〜ビット15から読み出した値は全て「0(=0000b)」となる。
また、乱数最大値設定レジスタ135に下限値「4」より小さい値を指定する乱数最大値設定データ「0000h」〜「0003h」が書き込まれた場合、乱数最大値設定レジスタ135には、CPU106により、初期値「4095」を指定する乱数最大値設定データ「0FFFh」が格納される。即ち、乱数最大値設定レジスタ135に設定可能な乱数最大値は、「4」から「4095」までである。なお、CPU106は、リセットコントローラ102により遊技制御用マイクロプロセッサ100がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ135を書込不能に制御する。
図4に示すクロック信号出力回路124は、セレクタ128と反転回路132に出力するクロック信号の周期(カウント値の更新周期)を指定する周期設定データを格納する周期設定レジスタ(RPS)137を備える。クロック信号出力回路124は、周期設定レジスタ137に格納されている周期設定データに基づいて、乱数回路103外部のクロック回路101から入力される基準クロック信号CLKを分周して、乱数回路103内部で乱数値の発生に用いるクロック信号(乱数発生用クロック信号S1)を生成し、この生成した乱数発生用クロック信号S1をセレクタ128と反転回路132に出力する。例えば、周期設定レジスタ137に書き込まれた周期設定データが「0Fh(=16)」の場合、クロック信号出力回路124は、クロック回路101から入力される基準クロック信号CLKを16分周して乱数発生用クロック信号S1を生成する。このとき生成された乱数発生用クロック信号S1の周期は、「システムクロック信号の周期×128×16」となる。
図11は、周期設定レジスタ137の構成例を示すブロック図である。図11に示すように、周期設定レジスタ137は、書込可能及び読出可能な8ビットレジスタであり、その初期値は、「256(=FFh)」に設定されている。
また、周期設定レジスタ137に下限値「システムクロック信号の周期×128×7」より小さい値を指定する周期設定データ「00h〜06h」が書き込まれた場合、CPU106は、周期設定レジスタ137に下限値「システムクロック信号の周期×128×7」を指定する周期設定データ「07h」を格納する。即ち、周期設定レジスタ137に設定可能な周期は、「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までである。なお、CPU106は、リセットコントローラ102により遊技制御用マイクロプロセッサ100がシステムリセットされるまで、周期設定データが書き込まれた周期設定レジスタ137を書込不能に制御する。
図4に示すカウント値更新信号出力回路125は、カウント値の更新を要求するカウント値更新データ「01h」を格納するカウント値更新レジスタ(RGN)138を備える。カウント値更新信号出力回路125は、カウント値更新レジスタ138にカウント値更新データ「01h」が書き込まれたことに応答して、カウント値更新信号S3をセレクタ128に出力する。
図12は、カウント値更新レジスタ138の構成例を示すブロック図である。図12に示すように、カウント値更新レジスタ138は、読出不能な8ビットレジスタであり、ビット0のみが書込可能に構成され、ビット1〜ビット7に値を書き込んでも、その値は無効である。
図4に示す乱数値読取信号出力回路126は、乱数値記憶回路131へのカウント値の取込を要求する乱数値取込データ「01h」を格納する乱数値取込レジスタ(RLT)139を備える。乱数値読取信号出力回路126は、乱数値取込レジスタ139に乱数値取込データ「01h」が書き込まれたことに応答して、乱数値読取信号をラッチ信号生成回路133に出力する。
図13は、乱数値取込レジスタ139の構成例を示すブロック図である。図13に示すように、乱数値取込レジスタ139は、読出不能な8ビットレジスタであり、ビット0のみが書込可能に構成され、ビット1〜ビット7に値を書き込んでも、その値は無効である。
図4に示す乱数更新方式選択信号出力回路127は、ランダムRの値を更新する方式である第1及び第2の乱数更新方式のうちから選択された乱数更新方式を指定する乱数更新方式選択データを格納する乱数更新方式選択レジスタ(RTS)140を備える。乱数更新方式選択信号出力回路127は、乱数更新方式選択レジスタ140に乱数更新方式選択データが書き込まれたことに応答して、この書き込まれた乱数更新方式選択データにより指定される乱数更新方式に対応する乱数更新方式選択信号をセレクタ128とラッチ信号生成回路133に出力する。
図14(A)は、乱数更新方式選択レジスタ140の構成例を示すブロック図である。図14(A)に示すように、乱数更新方式選択レジスタ140は、8ビットレジスタであり、その初期値は、「00h」に設定されている。乱数更新方式選択レジスタ140は、ビット0〜ビット1が書込可能及び読出可能に、ビット2〜ビット7が書込不能及び読出不能に構成されている。したがって、乱数更新方式選択レジスタ140のビット2〜ビット7に値を書き込んでも、その値は無効であり、ビット2〜ビット7から読み出した値は全て「0(=000000b)」となる。
図14(B)は、乱数更新方式選択レジスタ140に書き込まれる乱数更新方式選択データの一例の説明図である。図14(B)に示すように、乱数更新方式選択データは、2ビットのデータから構成され、「01b」は、第1の乱数更新方式を指定するデータであり、「10b」は、第2の乱数更新方式を指定するデータである。乱数更新方式選択データ「00b」又は「11b」が乱数更新方式選択レジスタ140に書き込まれた場合、乱数回路103は起動不能となる。
図4に示すセレクタ128は、乱数更新方式選択信号出力回路127から第1の乱数更新方式に対応する乱数更新方式選択信号(第1の乱数更新方式選択信号)が入力されたとき、カウント値更新信号出力回路125から出力されるカウント値更新信号S3を選択してカウンタ121に出力する。一方、セレクタ128は、乱数更新方式選択信号出力回路127から第2の乱数更新方式に対応する乱数更新方式選択信号(第2の乱数更新方式選択信号)が入力されたとき、クロック信号出力回路124から出力される乱数発生用クロック信号S1を選択してカウンタ121に出力する。なお、セレクタ128は、乱数更新方式選択信号出力回路127から第1の更新方式選択信号が入力されたとき、カウント値更新信号出力回路125から出力されるカウント値更新信号S3に応答して、クロック信号出力回路124から出力される乱数発生用クロック信号S1に同期した数値データの更新を指示する数値更新指示信号を、カウンタ121に出力してもよい。
乱数回路起動信号出力回路130は、乱数回路103の起動を要求する乱数回路起動データ「80h」を格納する乱数回路起動レジスタ(RST)141を備える。乱数回路起動信号出力回路130は、乱数回路起動レジスタ141に乱数回路起動データ「80h」が書き込まれたことに応答して、所定の乱数回路起動信号を出力し、カウンタ121とクロック信号出力回路124とをオンして、カウンタ121によるカウント値の更新動作とクロック信号出力回路124による内部クロック信号の出力動作とを開始させることにより、乱数回路103を起動させる。
図15は、乱数回路起動レジスタ141の構成例を示すブロック図である。図15に示すように、乱数回路起動レジスタ141は、8ビットレジスタであり、その初期値は、「00h」に設定されている。乱数回路起動レジスタ141は、ビット7のみが読出可能及び読出可能に構成され、ビット0〜ビット6に値を書き込んでも、その値は無効であり、ビット0〜ビット6から読み出した値は全て「0(=0000b)」となる。
図4に示す乱数値記憶回路131は、例えば8ビットレジスタであり、後述するステップS142の入賞処理において抽出されるランダムRの値を格納する。乱数値記憶回路131は、ラッチ信号生成回路133から出力されるラッチ信号SLに応答して、カウンタ121から比較器122を介して出力されるカウント値CをランダムRの値として格納することにより、ランダムRの値を更新する。
図16は、乱数値記憶回路131の一構成例を示す回路図である。乱数値記憶回路131は、図16に示すように、2個のAND回路201,203と、2個のNOT回路202,204と、8個のフリップフロップ回路211〜218と、8個のOR回路221〜228と、から構成されている。
AND回路201の入力端子は、ラッチ信号生成回路133の出力端子とNOT回路204の出力端子とに接続され、出力端子は、NOT回路202の入力端子とフリップフロップ回路211〜218のクロック端子Clk1〜Clk8とに接続されている。NOT回路202の入力端子は、AND回路201の出力端子に接続され、出力端子は、AND回路203の一方の入力端子に接続されている。
AND回路203の入力端子は、NOT回路202の出力端子と遊技制御用マイクロプロセッサ100に内蔵されたCPU106とに接続され、出力端子は、NOT回路204の入力端子に接続されている。NOT回路204の入力端子は、AND回路203の出力端子に接続され、出力端子は、AND回路201の一方の入力端子とOR回路221〜228の各々の一方の入力端子とに接続されている。
フリップフロップ回路211〜218の入力端子D1〜D8は、比較器122の出力端子に接続されている。フリップフロップ回路211〜218のクロック端子Clk1〜Clk8は、AND回路201の出力端子に接続され、出力端子Q1〜Q8は、OR回路221〜228の各々の他方の入力端子に接続されている。
OR回路221〜228の入力端子は、NOT回路204の出力端子とフリップフロップ回路211〜218の出力端子とに接続され、出力端子は、遊技制御用マイクロプロセッサ100に内蔵されたCPU106に接続されている。
上記構成を備える乱数値記憶回路131の動作を図17に示すタイミングチャートを参照して説明する。
遊技制御用マイクロプロセッサ100に内蔵されたCPU106から出力制御信号SC(ハイレベルの信号)が入力されていない場合に(AND回路203の一方の入力がローレベルの場合に)、ラッチ信号生成回路133からラッチ信号SLが入力されると(図17に示す例では、タイミングT1,T2,T7のとき)、AND回路201の入力は、共にハイレベルとなり、その出力端子から出力される信号SRは、ハイレベルとなる。そして、AND回路201から出力された信号SRは、フリップフロップ回路211〜218のクロック端子Clk1〜Clk8に入力される。
フリップフロップ回路211〜218は、クロック端子Clk1〜Clk8から入力される信号SRの立ち上がりエッヂに応答して、比較器122から入力端子D1〜D8を介して入力されるカウント値CのビットデータC1〜C8を乱数値のビットデータR1〜R8としてラッチして記憶し、記憶したランダムRのビットデータR1〜R8を出力端子Q1〜Q8から出力する。
出力制御信号SCが入力されていない場合(図17に示す例では、タイミングT3までの期間、タイミングT6以降の期間)、AND回路203の一方の入力がローレベルとなるため、その出力端子から出力される信号SGは、ローレベルとなる。信号SGは、NOT回路204において反転され、OR回路221〜228の一方の入力端子には、ハイレベルの信号が入力される。
このようにOR回路221〜228の一方の入力がハイレベルとなるため、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、即ち、入力されるランダムRのビットデータR1〜R8の値が「0」であるか「1」であるかに関わらず、OR回路221〜228から出力される信号SO1〜SO8は、全てハイレベル(「1」)となる。これにより、乱数値記憶回路131から出力される値は、常に「255(=11111111b)」となるため、乱数値記憶回路131からランダムRを読み出すことはできなくなる。即ち、出力制御信号SCが入力されていない場合、乱数値記憶回路131は、読出不能(ディセイブル)状態となる。
そして、ラッチ信号生成回路133からラッチ信号SLが入力されていないときに、CPU106から出力制御信号SCが入力されると(図17に示す例では、タイミングT4からタイミングT6までの期間)、AND回路203の入力が共にハイレベルとなるため、その出力端子から出力される信号SGは、ハイレベルとなる。信号SGは、NOT回路204において反転され、OR回路221〜228の一方の入力端子には、ローレベルの信号が入力される。
このようにOR回路221〜228の一方の入力がローレベルとなるため、他方の入力端子に入力される信号がハイレベルのときは、その出力端子からハイレベルの信号が出力され、ローレベルのときは、ローレベルの信号が出力される。即ち、OR回路221〜228の他方の入力端子に入力されるランダムRのビットデータR1〜R8の値は、OR回路221〜228の出力端子からそのまま(ビットデータR1〜R8の値が「1」のときは「1」が、「0」のときは「0」)出力される。これにより、乱数値記憶回路131からのランダムRの読出が可能となる。即ち、出力制御信号SCが入力されている場合、乱数値記憶回路131は、読出可能(イネイブル)状態となる。
但し、CPU106から出力制御信号SCが入力される前に、ラッチ信号生成回路133からラッチ信号SLが入力されている場合、AND回路203の一方の入力がローレベルとなるため、その後、ラッチ信号SLが入力されている状態のままで、出力制御信号SCが入力されても(図17に示す例では、タイミングT3からタイミングT4の期間)、その出力端子から出力される信号SGは、ローレベルのままとなる。そして、信号SGは、NOT回路204において反転され、OR回路221〜228の一方の入力端子には、ハイレベルの信号が入力される。
このようにOR回路221〜228の一方の入力がハイレベルとなるため、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、OR回路221〜228から出力される信号SO1〜SO8は、全てハイレベルとなり、出力制御信号SCが入力されているにも関わらず、乱数値記憶回路131からランダムRを読み出すことができない状態のままとなる。即ち、ラッチ信号SLが入力されているとき、乱数値記憶回路131は、出力制御信号SCに対して受信不能状態となる。
また、ラッチ信号生成回路133からラッチ信号SLが入力される前に、CPU106から出力制御信号SCが入力されている場合、AND回路201の一方の入力がローレベルとなるため、その後、出力制御信号SCが入力されているままの状態で、ラッチ信号SLが入力されても(図17に示す例では、タイミングT5)、その出力端子から出力される信号SRは、ローレベルのままとなる。このため、フリップフロップ回路211〜218のクロック端子Clk1〜Clk8に入力される信号SRは、ローレベルからハイレベルに立ち上がらず、フリップフロップ回路211〜218に格納されているランダムRのビットデータR1〜R8は、ラッチ信号SLが入力されているにも関わらず、更新されない。即ち、出力制御信号SCが入力されているとき、乱数値記憶回路131は、ラッチ信号SLに対して受信不能状態となる。
図4に示す反転回路132は、クロック信号出力回路124から入力された乱数発生用クロック信号S1における信号レベルを反転させることにより、反転クロック信号S2を生成する。反転回路132は、生成した反転クロック信号S2をラッチ信号生成回路133に出力する。
ラッチ信号生成回路133は、セレクタ及びフリップフロップ回路等を用いて構成され、乱数値読取信号出力回路126からの乱数値読取信号と反転回路132からの反転クロック信号S2とを入力し、乱数更新方式選択信号出力回路127からの乱数更新方式選択信号によって指定された乱数値更新方式に応じて、ラッチ信号SLを出力する。すなわち、ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第1の乱数更新方式選択信号が入力されたとき、反転回路132から出力される反転クロック信号S2を選択し、ラッチ信号SLとして乱数値記憶回路131に出力する。一方、ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されたとき、乱数値読取信号出力回路126から出力される乱数値読取信号を、反転回路132から出力される反転クロック信号S2の立ち上がりエッヂに同期させて、ラッチ信号SLとして乱数値記憶回路131に出力する。
タイマ回路134は、始動入賞口スイッチ70から始動入賞信号SSが入力されている時間を計測し、計測した時間が所定の時間(例えば3ミリ秒)になったとき、乱数値読取信号出力回路126の乱数値取込レジスタ139に乱数値取込データ「01h」を書き込む。例えば、タイマ回路134は、ハイレベルの信号が入力されたことに応答して起動するアップカウンタ又はダウンカウンタによって構成され、入力がハイレベルとなっている間、クロック回路101から順次入力される基準クロック信号CLKをアップカウント又はダウンカウントする。そして、アップカウント又はダウンカウントしたカウント値が3ミリ秒に対応する値となったとき、入力された信号が始動入賞信号SSであると判断して、始動入賞信号SSに対応した乱数値取込データ「01h」を乱数値取込レジスタ139に書き込む。
図18は、図3に示す遊技制御用マイクロプロセッサ100におけるアドレスマップの一例を示す図である。図18に示すように、0000h番地〜1FFFh番地の領域は、ROM104に割り当てられ、7E00h番地〜7FFFh番地の領域は、RAM105に割り当てられ、FD00h番地〜FE00h番地の領域は、乱数最大値設定レジスタ135等の内蔵レジスタに割り当てられている。
ROM104における0000h番地〜1F7Fh番地の領域のユーザプログラムエリアには、ユーザにより予め作成されたプログラム(ユーザプログラム)150が記憶され、1F80h番地〜1FFFh番地の領域のユーザプログラム管理エリアには、CPU106がユーザプログラム150を実行するために必要となるデータ(ユーザプログラム実行データ)が記憶されている。また、RAM105における7E00h番地〜7EFFh番地の領域は、使用されておらず、7EFFh番地〜7FFFh番地は、ワークエリアとして使用されている。
図19は、図18に示すユーザプログラム管理エリアにおけるアドレスマップの一例を示す図である。図19に示すように、1F97h番地の領域には、初期値を変更させる方式である第1,第2及び第3の初期値変更方式のうちからユーザが選択した初期値変更方式を指定する初期値変更方式設定データが記憶されている。1F98h番地の領域には、RAM105に割り当てられた7EFFh番地〜7FFFh番地のうちから、ユーザにより予め指定されたRAM105における番地(指定RAM番地)を特定するRAM番地データが下位の値として記憶されている。1F99h番地の領域には、指定RAM番地の次の番地のRAM番地データが上位の値として記憶されている。
図20は、ユーザにより選択される初期値変更方式設定データの一例の説明図である。図20に示すように、初期値変更データは、8ビットのデータから構成され、「00h」は、初期値を変更しないことを指定するデータであり、「01h」は、第1の初期値変更方式を指定するデータである。また、「02h」は、第2の初期値変更方式を指定するデータであり、「03h」は、第3の初期値変更方式を指定するデータである。
図21は、ユーザプログラム150の構成例を示す図である。この実施の形態において、ユーザプログラム150は、図21に示すように、複数種類のプログラムモジュールから構成される乱数回路設定プログラム151と、表示結果決定プログラム152と、初期値変更プログラム153と、カウント値順列変更プログラム154と、を含んで構成されている。
乱数回路設定プログラム151は、乱数回路103にランダムRの値を更新するための設定を行う乱数回路設定処理を実行するためのプログラムであり、CPU106は、この乱数回路設定プログラム151を実行することにより、乱数回路設定手段として機能する。
図22は、乱数回路設定プログラム151の構成例を示す図である。図22に示すように、乱数回路設定プログラム151は、前述した複数種類のプログラムモジュールとして、乱数最大値設定モジュール151aと、乱数更新方式選択モジュール151bと、周期設定モジュール151cと、乱数回路起動モジュール151dと、を含んで構成されている。
乱数最大値設定モジュール151aは、ユーザにより予め設定されたランダムRの最大値を乱数回路103に設定するためのプログラムモジュールである。CPU106は、この乱数最大値設定モジュール151aを実行して、ユーザにより予め設定されたランダムRの最大値を指定する乱数最大値設定データを書き込むことにより、この予め設定されたランダムRの最大値を乱数回路103に設定する。例えば、ユーザにより予め設定されたランダムRの最大値が「255」の場合、CPU106は、乱数最大値設定レジスタ135に乱数最大値設定データ「00FFh」を書き込んで、ランダムRの最大値「255」を乱数回路103に設定する。
乱数更新方式選択モジュール151bは、ユーザが第1及び第2の乱数更新方式のうちから選択した乱数更新方式を乱数回路103に設定するためのプログラムモジュールである。CPU106は、この乱数更新方式選択モジュール151bを実行して、ユーザが選択した乱数更新方式を指定する乱数更新方式選択データ「01b」又は「10b」を乱数更新方式選択レジスタ140に書き込むことにより、この選択した乱数更新方式を乱数回路103に設定する。これにより、遊技制御用マイクロプロセッサ100は、乱数回路103に設定する乱数更新方式を第1及び前記第2の乱数更新方式のうちから選択する機能を発揮することができる。
周期設定モジュール151cは、ユーザにより予め設定された内部クロック信号の周期を乱数回路103に設定するためのプログラムモジュールである。CPU106は、この周期設定モジュール151cを実行して、ユーザにより予め設定された内部クロック信号の周期を指定する周期設定データを周期設定レジスタ137に書き込むことにより、この予め設定された内部クロック信号の周期を乱数回路103に設定する。例えば、ユーザにより予め設定された内部クロック信号の周期が「システムクロック信号の周期×128×16」の場合、CPU106は、周期設定レジスタ137に周期設定データ「0Fh」を書き込んで、内部クロック信号の周期「システムクロック信号の周期×128×16」を乱数回路103に設定する。
乱数回路起動モジュール151dは、乱数回路103を起動させるためのプログラムモジュールである。CPU106は、この乱数回路起動モジュール151dを実行して、乱数回路起動データ「80h」を乱数回路起動レジスタ141に書き込むことにより、乱数回路103を起動させる。
乱数値更新プログラム155は、第1の乱数更新方式が選択されているときに、乱数値記憶回路131に格納されているランダムRの値を更新するためのプログラムである。CPU106は、この乱数値更新プログラム155を実行することにより、乱数値更新手段として機能する。CPU106は、この乱数値更新プログラム155を実行して、カウント値更新データ「01h」をカウント値更新レジスタ138に書き込むことにより、乱数値記憶回路131に格納さているランダムRの値を更新させる。
表示結果決定プログラム152は、特図ゲームにおける表示結果を大当りとするか否かを決定するためのプログラムであり、CPU106は、この表示結果決定プログラム152を実行することにより、表示結果決定手段として機能する。
CPU106は、遊技球が普通可変入賞球装置6に入賞して特別図柄の可変表示(特図ゲーム)を実行するための条件(実行条件)が成立したことに応じて、この表示結果決定プログラム152を実行することにより、乱数値記憶回路131からこの更新させたランダムRの値を読み出して、可変表示装置4による特図ゲームの表示結果を大当りとするか否かを決定する。
図23は、第1の乱数更新方式が選択されているときのCPU106によるランダムRの値の更新動作及び読出動作の説明図である。図23に示すように、第1の乱数更新方式が選択されているとき、CPU106は、カウント値更新データ「01h」をカウント値更新レジスタ138に書き込むことにより、乱数値記憶回路131に記憶されたランダムRの値(例えば「2」)を更新させる。そして、CPU106は、遊技球が普通可変入賞球装置6に入賞して特別図柄の可変表示(特図ゲーム)を実行するための条件(実行条件)が成立したことに応じて、乱数値記憶回路131からランダムRの値(例えば「2」)を読み出す。乱数値記憶回路131に記憶されているランダムRの値をさらに更新させる場合は、前回のランダムRの値を更新したときからクロック回路101により出力されるシステムクロック信号の周期以上の間隔をあけて、カウント値更新レジスタ138にカウント値更新データ「01h」を書き込まなければならない。これは、更新させたランダムRの値を乱数値記憶回路131から読み出す時間を確保するためである。
図24は、第2の乱数更新方式が選択されているときのCPU106によるランダムRの値の更新動作及び読出動作の説明図である。図24に示すように、第2の乱数更新方式が選択されているとき、CPU106は、乱数値取込コマンド「01h」を乱数値取込レジスタ139に書き込むことにより、カウンタ121から出力されるカウント値(例えば「2」)を乱数値記憶回路131に取り込ませて、乱数値記憶回路131に記憶されているランダムRの値を更新させる。そして、乱数値記憶回路131からこの更新させたランダムRの値(例えば「2」)を読み出す。
なお、CPU106が乱数値取込コマンド「01h」を乱数値取込レジスタ139に書き込まなければ、カウンタ121から出力されるカウント値が更新されていても、乱数値記憶回路131に記憶されている乱数値は更新されない。例えば、CPU106が乱数値取込コマンド「01h」を乱数値取込レジスタ139に書き込み、カウンタ121から出力されるカウント値「3」を乱数値記憶回路131に取り込ませて、乱数値記憶回路131に記憶されているランダムRの値「3」を更新させた場合、その後、CPU106が乱数値取込コマンド「01h」を乱数値取込レジスタ139に書き込まなければ、カウンタ121から出力されるカウント値が「3」から「4」や「5」に更新されていても、乱数値記憶回路131に記憶されている乱数値は更新されず、乱数値記憶回路131から読み出される乱数値は「3」のままとなる。
図21に示す初期値変更プログラム153は、カウンタ121により更新されるカウント値の初期値を変更させるためのプログラムであり、CPU106は、この初期値変更プログラム153を実行することにより、初期値変更手段として機能する。CPU106は、この初期値変更プログラム153を実行して、第1,第2及び第3の初期値変更方式のうちからユーザが選択した初期値変更方式により、カウンタ121により更新されるカウント値の初期値を変更させる。これにより、遊技制御用マイクロプロセッサ100は、初期値を変更させる方式を第1,第2及び第3の初期値変更方式のうちから選択する機能を発揮することができる。
より詳細に説明すれば、図19に示すユーザプログラム管理エリアの1F97h番地の領域に第1の初期値変更方式を指定する初期値変更方式設定データ「01h」が記憶されている場合、CPU106は、初期値を遊技制御用マイクロプロセッサ100固有のID(Identification)ナンバに基づいて設定された値に変更させる。
また、ユーザプログラム実行データエリアの1F97h番地の領域に第2の初期値変更方式を指定する初期値変更方式設定データ「02h」が記憶されている場合、CPU106は、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されている番地データから指定RAM番地を特定し、特定した指定RAM番地の領域に格納されている値を読み出し、初期値を読み出した値に変更させる。
ユーザプログラム実行データエリアの1F97h番地の領域に第3の初期値変更方式を指定する初期値変更方式設定データ「03h」が記憶されている場合、CPU106は、RAM105の各番地に格納されている値を読み出し、この読み出した値を加算する。そして、CPU106は、初期値をこの加算値に変更させる。
カウント値順列変更プログラム154は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」を書き込んで、乱数値記憶回路131に記憶されているカウント値の順列を変更するカウント値順列変更処理を実行するためのプログラムであり、CPU106は、このカウント値順列変更プログラム154を実行することにより、数値データ順列変更手段として機能する。CPU106は、このカウント値順列変更プログラム154を実行して、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」を書き込むことにより、カウント値順列変更回路123から出力され、乱数値記憶回路131に入力されるカウント値の順列を変更させる。
また、図3に示す遊技制御用マイクロプロセッサ100は、図25に示すように、特図保留メモリ170と、大当り判定用テーブルメモリ171と、フラグメモリ172と、始動入賞口スイッチタイマメモリ173と、を備えている。
特図保留メモリ170は、遊技球が普通可変入賞球装置6に入賞して特別図柄の可変表示(特図ゲーム)を実行するための条件(実行条件)が成立したが、従前の可変表示を実行中である等の理由のために可変表示を実際に開始するための条件(開始条件)が成立していない保留状態を記憶するためのメモリである。特図保留メモリ170は、4つのエントリを備え、各エントリには、普通可変入賞球装置6への入賞順に、保留番号と、その入賞に応じて乱数値記憶回路131から読み出したランダムRの値とが対応付けて格納される。主基板11から表示制御基板12へ可変表示装置4における特別図柄の可変表示の終了を指示する特別図柄確定コマンドが送出されて特別図柄の可変表示が1回終了したり、大当り遊技状態が終了したりするごとに、最上位の情報に基づいた可変表示の開始条件が成立し、最上位の情報に基づいた可変表示が実行される。このとき、第2位以下の登録情報が1位ずつ繰り上がる。また、特別図柄の可変表示中等に遊技球が普通可変入賞球装置6に新たに入賞した場合には、その入賞に基づいて乱数値記憶回路131から読み出されたランダムRの値が最上位の空エントリに登録される。
図25に示す大当り判定用テーブルメモリ171は、CPU106が特図ゲームにおける表示結果を大当りとするか否かを判定するために設定される複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ171は、図26(A)に示す通常時大当り判定テーブル171a、図26(B)に示す確変時大当り判定テーブル171bを格納する。
図25に示すフラグメモリ172は、パチンコ遊技機1において遊技の進行を制御するために用いられる各種のフラグが設定される。例えば、フラグメモリ172には、特別図柄プロセスフラグ、普通図柄プロセスフラグ、大当り状態フラグ、入力状態フラグ、タイマ割込フラグ、初期値変更フラグなどが設けられている。
特別図柄プロセスフラグは、後述する特別図柄プロセス処理(図32)において、どの処理を選択・実行すべきかを指示する。普通図柄プロセスフラグは、普通図柄表示器40の表示状態を所定の順序で制御するために、所定の普通図柄プロセス処理においてどの処理を選択・実行すべきかを指示する。大当り状態フラグは、可変表示装置4による特図ゲームの表示結果が大当りとなるときにオン状態にセットされ、大当り遊技状態が終了するときにクリアされてオフ状態となる。
入力状態フラグは、I/Oポート108に入力される各種信号の状態や始動入賞口スイッチ70等から入力される検出信号の状態等に応じて各々セットあるいはクリアさせる複数ビットからなるフラグである。タイマ割込フラグは、所定時間が経過してタイマ割込みが発生するごとにオン状態にセットされる。初期値変更フラグは、乱数回路103から通知信号が出力されたことに応答してオン状態にセットされ、初期値が変更されたときにクリアされてオフ状態となる。
始動入賞口スイッチタイマメモリ173は、始動入賞口スイッチ70から入力される始動入賞信号SSに応じ加算あるいはクリアされるタイマ値を記憶するためのものである。
図3に示すスイッチ回路109は、始動入賞口スイッチ70等の各入賞口スイッチからの検出信号を取り込んで、遊技制御用マイクロプロセッサ100に伝達する。ソレノイド回路110は、遊技制御用マイクロプロセッサ100からの指令に従って各ソレノイド21、22を駆動する。ソレノイド21は、リンク機構を介して普通可変入賞球装置6の可動翼片に連結されている。ソレノイド22は、リンク機構を介して特別可変入賞球装置7の開閉板に連結されている。
始動入賞口スイッチ70は、始動入賞口である普通可変入賞球装置6への遊技球の入賞等を検出したことに基づいて、始動入賞信号(ハイレベルの信号)SSを、スイッチ回路109を介して乱数回路103とCPU106とに出力する。
表示制御基板12は、主基板11から受信した制御コマンドに従って演出制御を行うためのものである。具体的には、表示制御基板12は、可変表示装置4の表示制御や、遊技効果ランプ9及び普通図柄表示器40の点灯制御を行う。
音声制御基板13、ランプ制御基板14は、主基板11から送信される制御コマンドに基づいて、音声出力制御、ランプ出力制御を、それぞれ主基板11とは独立して実行するサブ側の制御基板である。払出制御基板15は、遊技球の貸出や賞球等の払出制御を行うものである。情報端子基板16は、各種の遊技関連情報を外部に出力するためのものである。
次に、本実施例におけるパチンコ遊技機1の動作(作用)を説明する。図27は、主基板11に搭載された遊技制御用マイクロプロセッサ100が実行する遊技制御メイン処理を示すフローチャートである。主基板11では、電源基板10からの電力が供給されると、遊技制御用マイクロプロセッサ100が起動し、CPU106が、まず、図27のフローチャートに示す遊技制御メイン処理を実行する。遊技制御メイン処理を開始すると、まず、CPU106は、割込禁止に設定し(ステップS1)、続いて、割込モードをモード2に設定する(ステップS2)。
この後、CPU106は、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、遊技制御用マイクロプロセッサ100の内蔵デバイスであるCTC107などのレジスタ設定を行う(ステップS4)。例えば、CTC107に対して、割込ベクタを設定する。
ステップS4に続いて、CPU106は、例えばRAM105に設けられたバックアップフラグ領域をチェックするなどして(ステップS5)、前回の電源断時にRAM105の全部又は一部について所定のデータ保護処理によるバックアップがなされたか否かを判別する(ステップS6)。パチンコ遊技機1では、不測の電源断が生じたときに、RAM105に記憶されたデータの全部又は一部を保護するためのデータ保護処理が行われる。このようなデータ保護処理が行われていた場合には、バックアップありと判別される。
ステップS6にてバックアップありと判別したとき(ステップS6;Yes)、CPU106は、バックアップデータのチェックとしてパリティチェックを行い、チェック結果が正常であるか否かを判別する(ステップS7)。チェック結果が正常であれば(ステップS7;Yes)、主基板11の内部状態とサブ側の各制御基板(表示制御基板12、音声制御基板13、ランプ制御基板14、及び払出制御基板15)の制御状態を電源断時の状態に戻すための遊技状態復旧処理を実行する(ステップS8)。その後、ステップS10に進む。
ステップS6にてバックアップなしと判別したときや(ステップS6;No)、ステップS7にてチェック結果が正常ではなかったとき(ステップS7;No)、CPU106は、RAM105のクリアや、所定の作業領域に対する初期設定などの初期化処理を行う(ステップS9)。
続いて、CPU106は、乱数回路設定プログラム151を実行して、乱数回路設定処理を行う(ステップS10)。この乱数回路設定処理では、乱数回路103にランダムRの値を更新させるための設定が行われる。
図28は、ステップS10の乱数回路設定処理を示すフローチャートである。この乱数回路設定処理において、CPU106は、まず、乱数回路設定プログラム151に含まれる乱数最大値設定モジュール151aを実行して、ユーザにより予め設定された乱数最大値を指定する乱数最大値設定データを乱数最大値設定レジスタ135に書き込むことにより、この予め設定されたランダムRの最大値を乱数回路103に設定する(ステップS21)。
次に、CPU106は、乱数回路設定プログラム151に含まれる乱数更新方式選択モジュール151bを実行して、乱数更新方式選択データ「10b」を乱数更新方式選択レジスタ140に書き込むことにより、第2の乱数更新方式を乱数回路103に設定する(ステップS22)。
続いて、CPU106は、乱数回路設定プログラム151に含まれる周期設定モジュール151cを実行して、ユーザにより予め設定された乱数発生用クロック信号S1の周期を指定する周期設定データを周期設定レジスタ137に書き込むことにより、この予め設定された乱数発生用クロック信号S1の周期を乱数回路103に設定する(ステップS23)。
この後、CPU106は、乱数回路設定プログラム151に含まれる乱数回路起動モジュール151dを実行して、乱数回路起動データ「80h」を乱数回路起動レジスタ141に書き込むことにより、乱数回路103を起動させる(ステップS24)。
こうして図28に示すような乱数回路設定処理が実行されることにより、乱数回路103は、例えば図29に示すようなタイミングチャートに従って動作する。
図29に示す動作例において、クロック回路101から乱数回路103へは、タイミングT11,T21,…においてローレベルからハイレベルに立ち上がる、図29(A)に示す基準クロック信号CLKが供給されるものとする。
クロック信号出力回路124は、クロック回路101から供給された基準クロック信号CLKを分周して、例えばタイミングT11,T12,…においてローレベルからハイレベルに立ち上がり、タイミングT21,T22,…においてハイレベルからローレベルに立ち下がる、図29(B)に示す乱数発生用クロック信号S1を生成する。なお、図29に示す動作例では、説明のために、クロック信号出力回路124が基準クロック信号CLKを2分周して乱数発生用クロック信号S1を生成する場合を示している。しかしながら、実際には、周期設定レジスタ137に設定可能な周期は、「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までとなっており、この範囲で周期設定レジスタ137に設定される周期設定データ「07h」〜「FFh」に対応した分周比で、基準クロック信号CLKを分周することにより乱数発生用クロック信号S1が生成されることになる。クロック信号出力回路124によって生成された乱数発生用クロック信号S1は、セレクタ128と反転回路132とに出力される。
セレクタ128は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、クロック信号出力回路124から出力された乱数発生用クロック信号S1を選択してカウンタ121に出力する。カウンタ121は、セレクタ128から供給される乱数発生用クロック信号S1の立ち上がりエッヂが入力される毎に、カウント値Cを更新してカウント値順列変更回路123に出力する。
反転回路132は、クロック信号出力回路124から出力された乱数発生用クロック信号S1の信号レベルを反転させることにより、例えばタイミングT11,T12,…においてハイレベルからローレベルに立ち下がり、タイミングT21,T22,…においてローレベルからハイレベルに立ち上がる、図29(C)に示す反転クロック信号S2を生成する。反転回路132によって生成された反転クロック信号S2は、ラッチ信号生成回路133に出力される。
ラッチ信号生成回路133では、図29(D)に示す始動入賞信号SSがタイマ回路134に入力されてからの経過時間が所定時間(例えば3ミリ秒)に達したときに、乱数値読取信号出力回路126からの乱数値読取信号がローレベルからハイレベルに立ち上がる。ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、乱数値読取信号出力回路126から入力される乱数値読取信号を、反転回路132から供給される反転クロック信号S2の立ち上がりエッヂに同期させ、図29(E)に示すラッチ信号SLを出力する。
これにより、乱数回路103は、タイミングT11,T12,T13…において、カウント値Cを更新し、タイミングT11,T12,T13とは異なるタイミングT22において、ラッチ信号SLを出力することができる。
図27に示す遊技制御メイン処理では、ステップS10の乱数回路設定処理に続いて、CPU106がCTC107によるタイマ割込みのための設定を行う(ステップS11)。具体的には、CTC107に対して、CTC107が備える複数のチャネルのうちの1つ(具体的には、第0チャネルから第3チャネルのうちの第3チャネル)に割込許可を与えてタイマモードで動作させるとともに、当該チャネルのカウント初期値を指定する。これにより、以後、所定時間(例えば2ミリ秒)ごとにCTC107から割込要求信号がCPU106へ送出され、CPU106は定期的にタイマ割込処理を実行することができる。
この後、CPU106は、CTC107からの割込要求信号によるタイマ割込が発生したか否かを監視するためのループ処理に移行する。このループ処理では、割込禁止に設定した後(ステップS12)、表示用乱数更新処理(ステップS13)が実行され、表示用乱数更新処理が完了すると、割込許可に設定する(ステップS14)。
図27に示す遊技制御メイン処理を実行したCPU106は、CTC107からの割込要求信号を受信して割込要求を受け付けると、図30に示す遊技制御割込処理の実行を開始する。
遊技制御割込処理を開始すると、CPU106は、所定の電源断処理を実行することにより、電源基板10から供給される電力が低下したときなどに所定のデータ保護処理等を実行可能とする(ステップS101)。続いて、所定のスイッチ処理を実行することにより、始動入賞口スイッチ70等の各入賞口スイッチから入力される検出信号の状態を判定する(ステップS102)。スイッチ処理では、スイッチ回路109を介して始動入賞口スイッチ70から入力される始動入賞信号SSがオン状態となっているか否かを判別する。始動入賞信号SSがオン状態である場合には、タイマ値を「1」加算して始動入賞口スイッチタイマメモリ173に格納する。一方、始動入賞信号SSがオフ状態である場合には、タイマ値をクリアする。
次に、CPU106は、表示用乱数更新処理(ステップS103)を実行する。続いて、CPU106は、初期値変更プログラム153を実行して、初期値変更処理を行う(ステップS104)。
図31は、ステップS104の初期値変更処理を示すフローチャートである。この初期値変更処理において、CPU106は、まず、フラグメモリ172に設けられた初期値変更フラグをチェックすることにより、乱数回路103から通知信号が出力されたか否かを判別する(ステップS121)。初期値フラグがオフ状態にある場合(ステップS121;No)、カウンタ121のカウント値が最終値までカウントアップされていないと判別して初期値変更処理を終了する。一方、初期値フラグがオン状態にある場合(ステップS121;Yes)、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されている初期値変更方式設定データを読み出して、ユーザが選択した初期値変更方式を特定する(ステップS122,S123及びS124)。
第1の初期値変更方式を指定する初期値変更方式設定データ「01h」が記憶されている場合(ステップS122;Yes)、CPU106は、初期値を遊技制御用マイクロプロセッサ100固有のID(Identification)ナンバに基づいて設定された値に変更させる(ステップS125)。
第2の初期値変更方式を指定する初期値変更方式設定データ「02h」が記憶されている場合(ステップS122;No,ステップS123;Yes)、CPU106は、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されているRAM番地データから指定RAM番地を特定し、特定した指定RAM番地の領域に格納されている値を読み出す(ステップS126)。そして、CPU106は、初期値を読み出した値に変更させる(ステップS127)。
第3の初期値変更方式を指定する初期値変更方式設定データ「03h」が記憶されている場合(ステップS122;No,ステップS123;No,ステップS124;Yes)、CPU106は、RAM105の各番地に格納されている値を読み出して(ステップS128)、読み出した値を加算する(ステップS129)。そして、CPU106は、初期値をこの加算値に変更させる(ステップS130)。
また、ステップS122,ステップS123及びステップS124にてNoと判別した場合、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されている初期値変更方式設定データを「00h」と判別し、初期値を変更せず、そのままステップS131に進む。
この後、CPU106は、初期値変更フラグをクリアしてオフ状態とし(ステップS131)、初期値変更処理を終了する。
こうして初期値変更処理が終了した後、CPU106は、カウント値順列変更プログラム154を実行して、カウント値順列変更処理を行う(ステップS105)。このカウント値順列更新処理において、CPU106は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」を書き込むことにより、乱数値記憶回路131に入力されるカウント値Cの順列を変更させる。
続いて、CPU106は、特別図柄プロセス処理を実行する(ステップS106)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選択されて実行される。特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
また、CPU106は、普通図柄プロセス処理を実行する(ステップS107)。普通図柄プロセス処理では、普通図柄表示器40を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選択されて実行される。普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。さらに、特別図柄コマンド制御処理(ステップS108)と、普通図柄コマンド制御処理(ステップS109)と、を順次実行する。これにより、CPU106は、主基板11から表示制御基板12に対して表示制御コマンドを送ることにより、可変表示装置4の表示制御や普通図柄表示器40の点灯制御を指示する。
続いて、CPU106は、所定の情報出力処理を実行することにより、各種出力データをI/Oポート108に含まれる各出力ポートに出力する(ステップS110)。この情報出力処理では、主基板11から情報端子基板16に、大当り情報、始動情報、確率可変情報などをホール管理用コンピュータに対して出力する指令の送出も行われる。
また、CPU106は、所定の賞球処理を実行することにより、始動入賞口スイッチ70等の各入賞口スイッチから入力された検出信号に基づく賞球数の設定などを行い、払出制御基板15に対して払出制御コマンドを出力可能とする(ステップS111)。さらに、CPU106は、所定のソレノイド出力処理を実行することにより、所定の条件が成立したときに普通可変入賞球装置6における可動翼片や特別可変入賞球装置7における開閉板の開閉駆動を行う(ステップS112)。
図32は、ステップS106にて実行される特別図柄プロセス処理を示すフローチャートである。特別図柄プロセス処理を開始すると、CPU106は、まず、表示結果決定プログラム152を実行して、遊技球が普通可変入賞球装置6に入賞したか否かを、始動入賞口スイッチタイマメモリ173に記憶されているタイマ値をチェックすることにより、判別する(ステップS141)。ステップS141において、CPU106は、始動入賞口スイッチタイマメモリ173に記憶されているタイマ値をロードし、ロードしたタイマ値を所定のスイッチオン判定値(例えば「2」)と比較する。ここで、スイッチオン判定値は、遊技制御割込処理の実行回数(例えば「2」)に対応して予め定められている。これにより、CPU106は、所定回(例えば2回)の遊技制御割込処理が実行されている間(例えば4ミリ秒)、始動入賞口スイッチ70から始動入賞信号SSが継続して入力されたが否かを判別することができる。
そして、この比較結果に基づいて、CPU106は、タイマ値がスイッチオン判定値「2」以上であるか否かを判別する。タイマ値がスイッチオン判定値「2」以上である場合には、遊技球が入賞しているものと判別して(ステップS141;Yes)、入賞処理を実行する(ステップS142)と共に、タイマ値をクリアする。一方、タイマ値がスイッチオン判定値「2」未満である場合には、遊技球が入賞していないものと判別して(ステップS141;No)、入賞処理をスキップする。
図33は、ステップS142の入賞処理を示すフローチャートである。この入賞処理において、CPU106は、まず、特図保留メモリ170が記憶している始動入賞記憶数が所定の最大値(例えば、「4」)であるか否かを判別する(ステップS171)。ここで、特図保留メモリ170において、例えば始動入賞記憶番号「4」に対応したランダムRが記憶されている場合には、始動入賞記憶数が最大値であると判別される。
始動入賞記憶数が最大値であるときには(ステップS171;Yes)、今回の入賞による始動検出は無効として、そのまま入賞処理が終了する。一方、始動入賞記憶数が最大値ではないときには(ステップS171;No)、乱数値記憶回路131に出力制御信号SCを送出して、乱数値記憶回路131を読出可能(イネイブル)状態に制御する(ステップS172)。
続いて、CPU106は、乱数値記憶回路131から乱数値として記憶されているランダムRの値を読み出し(ステップS173)、この読み出したランダムRの値を、例えばRAM105に設けられた所定のバッファ領域に格納した後(ステップS174)、乱数値記憶回路131への出力制御信号SCの送出を停止して、乱数値記憶回路131を読出不能(ディセイブル)状態に制御する(ステップS175)。そして、CPU106は、始動入賞記憶数を「1」加算し(ステップS176)、所定のバッファ領域に格納したランダムRの値を特図保留メモリ170の空エントリの先頭にセットする(ステップS177)。
この後、CPU106は、フラグメモリ172に格納されている特別図柄プロセスフラグの値に基づいて、図32に示すステップS150〜S158の9個の処理のいずれかを選択する。以下に、ステップS150〜S158の各処理について説明する。
ステップS150の特別図柄通常処理は、特別図柄プロセスフラグの値が初期値「0」のときに実行される処理である。この処理において、CPU106は、特図保留メモリ170が記憶している保留記憶数が「0」であるか否かを判別する。ここで、特図保留メモリ170において、保留番号「1」に対応したランダムR等の各種データが記憶されていない場合には、保留記憶数が「0」であると判別される。保留記憶数が「0」であれば、表示制御基板12を介して可変表示装置4上にデモンストレーション画面を表示するなどして、特別図柄通常処理を終了する。一方、保留記憶数が「0」ではないと判別すると、特別図柄プロセスフラグの値を大当り判定処理に対応した値である「1」に更新する。
ステップS151の大当り判定処理は、特別図柄プロセスフラグの値が「1」のときに実行される処理である。この処理において、CPU106は、図34に示すように、まず、特図保留メモリ170から保留番号「1」に対応して格納されているランダムRの値を読み出す(ステップS181)。この際、保留記憶数を1減算し、且つ、特図保留メモリ170の第2〜第4エントリ(保留番号「2」〜「4」)に格納されたランダムRの値を1エントリずつ上位にシフトする(ステップS182)。
続いて、CPU106は、確率向上状態(確変中)であるか否かを判別し(ステップS183)、確変中ではなければ(ステップS183;No)、通常遊技状態であると判断し、特図ゲームの表示結果を大当りとするか否かを判定するためのテーブルとして、図26(A)に示すような通常時大当り判定テーブル171aを設定する(ステップS184)。これに対して、確変中であれば(ステップS183;Yes)、図26(B)に示すような確変時大当り判定テーブル171bを設定する(ステップS185)。
CPU106は、ステップS181にて読み出したランダムRの値に基づき、ステップS184又はS185にて設定した大当り判定テーブル171a又は171bを用いて特図ゲームの表示結果を大当りとするか否かを判定する(ステップS186)。そして、大当りとすることに決定した場合には(ステップS186;Yes)、フラグメモリ172に設けられた大当り状態フラグをオン状態にセットし(ステップS187)、ハズレとすることに決定した場合には(ステップS186;No)、大当り状態フラグをクリアしてオフ状態とする(ステップS188)。この後、特別図柄プロセスフラグの値を確定図柄決定処理に対応した値である「2」に更新する(ステップS189)。
図32に示すステップS152の確定図柄決定処理は、特別図柄プロセスフラグの値が「2」のときに実行される処理である。この処理において、CPU106は、フラグメモリ172に設けられた大当り状態フラグがオンとなっているか否かを判別するとともに、所定のリーチ判定用乱数を抽出した結果等に基づいて、リーチとするか否かを判別する。これらの判別結果に従って、可変表示装置4による特図ゲームにおける最終的な確定図柄が設定される。その後、特別図柄プロセスフラグの値を可変表示パターン設定処理に対応した値である「3」に更新する。
ステップS153の可変表示パターン設定処理は、特別図柄プロセスフラグの値が「3」のときに実行される処理である。この処理において、CPU106は、まず、フラグメモリ172に設けられた大当り状態フラグがオンとなっているか否かを判別するとともに、上記ステップS152の確定図柄決定処理にてリーチとすることが決定されたか否かを判別し、これらの判別結果に従って、所定の可変表示パターンテーブルを設定する。そして、所定の可変表示パターン決定用乱数を抽出した結果等に基づいて、設定した可変表示パターンテーブルのうちから、今回の特図ゲームで使用する可変表示パターンを決定する。こうして可変表示パターンを決定した後、CPU106は、特別図柄プロセスフラグの値を可変表示指令処理に対応した値である「4」に更新する。
ステップS154の可変表示指令処理は、特別図柄プロセスフラグの値が「4」のときに実行される処理である。この処理において、CPU106は、可変表示装置4において特別図柄の全図柄が可変表示を開始するように制御する。具体的には、上述したステップS152の確定図柄決定処理にて決定した特別図柄の確定図柄に対応する制御データや、ステップS153の可変表示パターン設定処理にて決定した可変表示パターンに対応する制御データを、所定のコマンド送信テーブルに設定するなどして、可変表示開始コマンドと左・中・右の図柄指定コマンドを表示制御基板12に対して送出可能に設定する。そして、可変表示パターンに対応する総可変表示時間を所定の可変表示時間タイマに設定し、可変表示開始コマンドが送信されるとともにカウントダウンを開始する。この後、所定の可変表示時間タイマがタイムアウトすると、特別図柄プロセスフラグの値を可変表示停止時処理に対応した値である「5」に更新する。
ステップS155の可変表示停止時処理は、特別図柄プロセスフラグの値が「5」のときに実行される処理である。この処理において、CPU106は、主基板11から表示制御基板12に対して特別図柄確定コマンドを送出するための設定を行う。具体的には、特別図柄確定コマンドに対応する制御データを、所定のコマンド送信テーブルに設定するなどして、特別図柄確定コマンドを表示制御基板12に対して送出可能に設定する。また、パチンコ遊技機1が確率向上状態となっているときには、確率向上状態から通常遊技状態に戻すか否かを判定し、戻すと判定すると、パチンコ遊技機1における遊技状態を確率向上状態から通常遊技状態に移行させる。そして、可変表示の表示結果が大当りになるときは、特別図柄プロセスフラグの値を大入賞口開放前処理に対応した値である「6」に更新し、ハズレとなるときには、特別図柄プロセスフラグの値を「0」に更新する。
ステップS156の大入賞口開放前処理は、特別図柄プロセスフラグの値が「6」のときに実行される処理である。この処理において、CPU106は、大入賞口としての特別可変入賞球装置7を開放する制御を開始するための設定を行う。そして、特別可変入賞球装置7を開放する制御を開始するとともに、特別図柄プロセスフラグの値を大入賞口開放中処理に対応した値である「7」に更新する。
ステップS157の大入賞口開放中処理は、特別図柄プロセスフラグの値が「7」のときに実行される処理である。この処理において、CPU106は、開成された特別可変入賞球装置7への遊技球の入賞検出、賞球の払出指令、開成時間の計測、及び開成サイクルのラウンド数表示のための表示制御コマンド設定等を行う。そして、例えば、1回の大当りについて、特別可変入賞球装置7の開成回数をカウントし、開成回数が例えば16回に達していれば、特定遊技状態(大当り遊技状態)を終了する条件が終了したとして特別図柄プロセスフラグの値を大当り終了処理に対応した値である「8」に更新する。一方、開成回数が16回に達していなければ、特別可変入賞球装置7を一旦閉成した後、所定時間が経過するのを待って再度開成する。
ステップS158の大当り終了処理は、特別図柄プロセスフラグの値が「8」のときに実行される処理である。この処理において、CPU106は、表示制御基板12に対して所定の大当り終了コマンドを送出するための設定を行うなどして、大当り遊技状態を終了させる。また、CPU106は、フラグメモリ172に設けられた大当り状態フラグをクリアしてオフ状態とする。そして、特別図柄プロセスフラグの値を「0」に更新する。
以上説明したように、この実施例においては、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、セレクタ128がクロック信号出力回路124から出力される乱数発生用クロック信号S1を選択してカウンタ121に出力する。これにより、カウンタ121には、タイミングT11,T12,T13,…において、ローレベルからハイレベルに立ち上がる乱数発生用クロック信号S1が供給される。また、クロック信号出力回路124から出力される乱数発生用クロック信号S1は、反転回路132によって信号レベルが反転された後、反転クロック信号S2としてラッチ信号生成回路133に出力される。ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されていることに応答して、乱数値読取信号出力回路126から出力される乱数値読取信号を、反転回路132から入力される反転クロック信号S2に同期させ、タイミングT22において、ローレベルからハイレベルに立ち上がるラッチ信号SLとして乱数値記憶回路131に出力する。
このようにして、乱数回路103は、クロック信号出力回路124から出力される乱数発生用クロック信号S1がローレベルからハイレベルに立ち上がるタイミングT11,T12,T13,…においてカウント値Cを更新し、これらのタイミングT11,T12,T13,…とは異なるタイミングT21,T22,T23,…においてラッチ信号SLを出力することができる。そして、乱数値記憶回路131は、この更新されたカウント値Cをラッチ信号SLの立ち上がりエッヂに応答して、ランダムRとして記憶する。
このため、乱数回路103は、カウンタ121によるカウント値Cの更新タイミングと、ラッチ信号生成回路133によるラッチ信号SLの出力タイミング(ラッチタイミング)とを、確実に異ならせることができ、乱数値の取得を確実且つ安定的に行うことができる。
また、CPU106は、パチンコ遊技機1に電力が供給され、遊技制御メイン処理が開始された後、タイマ割込処理の実行を許可してループ処理に移行する前に、乱数回路設定プログラム151を実行して乱数回路設定処理を行うため、限られた割り込み処理時間(例えば2ミリ秒)の間で乱数発生のための処理を開始・終了する必要はなくなり、遊技制御用マイクロプロセッサ100の処理負担の増加を防止することができる。さらに、乱数回路103がCPU106とともに遊技制御用マイクロプロセッサ100に内蔵されているため、主基板11のスペースを確保することができ、また、不正基板の設置等の偽造を困難にすることができる。
なお、好適には、乱数回路設定処理は、遊技状態復旧処理の実行後又はRAM105のクリアや所定の作業領域に対する初期設定などの初期化処理の実行後、タイマ割込処理の実行を許可してループ処理に移行する前に、実行されることが望ましい。
また、CPU106は、乱数回路103が発生するランダムRの値を用いて特図ゲームおける表示結果を大当りとするか否かを決定するため、ROM104等に記憶するプログラムの容量を削減することができる。
さらに、ランダムRの値は、乱数回路103にて更新されるので、ソフトウェアで更新するものに比べて、ROM104等が記憶するプログラムの容量を少なくすることできる。
また、乱数値記憶回路131に記憶されているランダムRの値を、乱数回路設定プログラム151を実行してなされた設定に従って、更新させることができるため、パチンコ遊技機1毎に異なる設定を行うことにより、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
より詳細には、CPU106は、乱数回路設定プログラム151に含まれる乱数最大値設定モジュール151a,乱数更新方式選択モジュール151b及び周期設定モジュール151cを実行して、ユーザがパチンコ遊技機1毎に適宜設定したランダムRの最大値、乱数更新方式及び乱数発生用クロック信号S1の周期を乱数回路103に設定し、その後、乱数回路起動モジュール151dを実行して乱数回路103を起動させる。このようにして乱数回路103に設定されたランダムRの最大値、乱数更新方式及び乱数発生用クロック信号S1の周期に従って、乱数値記憶回路131に格納されているランダムRの値を更新させることにより、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
さらに、カウント値順列変更プログラム154を実行して、カウント値の更新順である順列を変更させることにより、乱数値記憶回路131に入力されるカウント値のランダム性が高まる結果、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
また、カウント値順列変更回路123が、切り替えた更新規則に従ってカウント値の更新動作を開始したことに応答して、CPU106は、カウント値順列変更データ「01h」が書き込まれたカウント値順列変更レジスタ136を初期化するため、カウント値順列変更回路123から出力され、乱数値記憶回路131に入力されるカウント値の順列が連続的に変更されるといった不具合を防止することができる。
さらに、カウント値順列変更レジスタ136が初期化された後、CPU106は、カウント値順列データ「01h」をカウント値順列変更レジスタ136に再度書き込むことにより、変更したカウント値の順列をさらに変更することができる。
また、カウンタ121により更新されるカウント値の初期値を変更させることにより、カウント値が初期値から最終値までカウントアップされる周期の検出を困難にすることができる。これにより、ステップS173にて乱数値記憶回路131から読み出されるランダムRの値と大当り判定値とが合致するタイミングを狙って所定の信号を出力し、大当りを頻発させるといった不正行為を防止することができる。
さらに、CPU106は、リセットコントローラ102によりシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ135、周期設定データが書き込まれた周期設定レジスタ137及び乱数更新方式選択データが書き込まれた乱数更新方式選択レジスタ140を書込不能に制御して乱数回路103に設定された乱数最大値、乱数発生用クロック信号S1の周期及び乱数更新方式を変更不能にする。これにより、悪質な遊技客が乱数最大値、乱数発生用クロック信号S1の周期及び乱数更新方式を変更して乱数値記憶回路131から読み出されるランダムRの値と大当り判定値とが一致するタイミングを自在に設定し、大当りを頻発させるといった不正行為を防止することができる。
また、ユーザがパチンコ遊技機1毎に適宜選択した初期値変更方式によりカウント値の初期値を変更させるため、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
さらに、乱数最大値設定レジスタ135に、下限値「4」以下の値を指定する乱数最大値設定データ「0000h」〜「0003h」が書き込まれた場合、CPU106は、この乱数最大値設定レジスタ135に「0FFFh」を格納するため、「4」以下の値が乱数最大値として乱数回路103に設定されることを防止することができる。
また、CPU106により変更された初期値が乱数最大値より大きい場合、比較器122は、カウント値更新信号を順次出力して、カウンタ121に、カウント値を変更された初期値から最終値まで連続的に更新させ、通知信号を出力させることにより、この変更された初期値をCPU106にさらに変更させることができる。これにより、乱数値記憶回路131に出力されるカウント値が乱数最大値より大きくなることを防止することができる。
さらに、周期設定レジスタ137に、下限値「システムクロック信号の周期×128×7」以下の値を指定する周期設定コマンド「00h」〜「06h」が書き込まれた場合、CPU106は、この周期設定レジスタ137に「07h」を格納するため、「システムクロック信号の周期×128×7」より小さい値が内部クロック信号の周期として乱数回路103に設定されることを防止することができる。
また、CPU106は、乱数回路103に乱数の最大値、乱数更新方式及び乱数発生用クロック信号S1の周期を設定した後に、乱数回路103を起動させるため、電力の供給開始後、乱数の最大値、乱数更新方式及び乱数発生用クロック信号S1の周期の設定を行う前に、この乱数回路103から乱数が発生してしまうといった不具合を防止することができる。
また、リセットコントローラ102によりシステムリセットされたときは、乱数回路起動レジスタ141に乱数回路起動データ「80h」を書き込むことにより、乱数回路103を再度起動させることができる。
始動入賞口スイッチ70は、始動入賞口である普通可変入賞球装置6へ遊技球が入賞したことに基づいて、始動入賞信号SSを乱数回路103とCPU106とに出力する。CPU106は、所定回(例えば2回)のタイマ割込処理が実行されている間(例えば4ミリ秒)、始動入賞口スイッチ70から始動入賞信号SSが継続して入力されたことに基づいて、入賞処理を実行する。この入賞処理において、CPU106は、乱数値記憶回路131に出力制御信号SCを送出して乱数値記憶回路131を読出可能(イネイブル)状態に制御した後、乱数値記憶回路131からランダムRの値を読み出す。そして、CPU106は、乱数値記憶回路131への出力制御信号SCの送出を停止して乱数値記憶回路131を読出不能(ディセイブル)状態に制御した後、読み出したランダムRの値が所定の判定値「3」などと一致するか否かを判定することにより、可変表示装置4による特図ゲームの表示結果を大当り遊技状態とするか否かを決定する。
このように、CPU106がランダムRの値を読み出すときのみ、乱数値記憶回路131を読出可能状態に制御することにより、パチンコ遊技機1は、乱数値の取得をより一層、確実且つ安定的に行うことができる。また、CPU106は、始動入賞口である普通可変入賞球装置6へ遊技球が入賞したときのみ、乱数値記憶回路131からランダムRの値を読み出すため、パチンコ遊技機1は、無駄な処理を省略することができる。
なお、乱数回路103は、始動入賞口スイッチ70から出力された始動入賞信号SSをラッチ信号生成回路133に直接入力するのではなく、一旦タイマ回路134に入力して、始動入賞信号SSの入力時間を計測し、計測した時間が予め設定された時間(3ミリ秒)になったとき、乱数値取込レジスタ139に乱数値取込データ「01h」をセットすることにより、乱数値読取信号をラッチ信号生成回路133に入力する。このため、パチンコ遊技機1は、ラッチ信号生成回路133がノイズの影響等により誤って乱数値記憶回路131にラッチ信号SLを出力することを防止することができる。また、タイマ回路134には、2回のタイマ割込処理の実行間「4ミリ秒」よりも短い「3ミリ秒」が設定されているため、CPU106が乱数値記憶回路131から読み出したランダムRの値が前回の入賞時に読み出したランダムRの値と同じ値となることを防止することができる。
また、乱数値記憶回路131は、ラッチ信号生成回路133からラッチ信号SLが入力されているとき、遊技制御用マイクロプロセッサ100から入力される出力制御信号(ハイレベルの信号)SCをローレベルの信号に変換することにより、出力制御信号SCに対して受信不能状態に制御する。これにより、乱数値記憶回路131に記憶されているランダムRの値が更新されているときに、CPU106により乱数値記憶回路131からランダムRの値が読み出されることを防止することができるため、パチンコ遊技機1は、乱数値の更新を確実且つ安定的に行うことができる。
さらに、乱数値記憶回路131は、遊技制御用マイクロプロセッサ100から出力制御信号SCが入力されているとき、ラッチ信号生成回路133から入力されるラッチ信号(ハイレベルの信号)SLをローレベルの信号に変換することにより、ラッチ信号SLに対して受信不能状態に制御する。これにより、遊技制御用マイクロプロセッサ100が乱数値記憶回路131からランダムRの値を読み出しているときに、乱数値記憶回路131に記憶されているランダムRの値が更新されることを防止することができるため、パチンコ遊技機1は、乱数値の取得を確実且つ安定的に行うことができる。
上記の実施例では、ユーザにより第2の乱数更新方式が選択された場合について説明した。これに対して、第1の乱数更新方式が選択された場合には、図27に示すステップS10の乱数回路設定処理として、図35のフローチャートに示す処理が実行される。
図35に示す乱数回路設定処理において、CPU106は、まず、乱数回路設定プログラム151に含まれる乱数最大値設定モジュール151aを実行して、ユーザにより予め設定された乱数最大値を指定する乱数最大値設定データを乱数最大値設定レジスタ135に書き込むことにより、この予め設定されたランダムRの最大値を乱数回路103に設定する(ステップS31)。次に、CPU106は、乱数回路設定プログラム151に含まれる乱数更新方式選択モジュール151bを実行して、乱数更新方式選択データ「01b」を乱数更新方式選択レジスタ140に書き込むことにより、第1の乱数更新方式を乱数回路103に設定する(ステップS32)。この後、CPU106は、乱数回路設定プログラム151に含まれる乱数回路起動モジュール151dを実行して、乱数回路起動データ「80h」を乱数回路起動レジスタ141に書き込むことにより、乱数回路103を起動させる(ステップS33)。
こうして図35に示すような乱数回路設定処理が実行されることにより、乱数回路103は、例えば図36に示すようなタイミングチャートに従って動作する。
図36に示す動作例において、クロック回路101から乱数回路103へは、タイミングT31,T41,…においてローレベルからハイレベルに立ち上がる、図36(A)に示す基準クロック信号CLKが供給されるものとする。
クロック信号出力回路124は、クロック回路101から供給された基準クロック信号CLKを分周して乱数発生用クロック信号S1を生成し、セレクタ128と反転回路132とに出力する。セレクタ128は、乱数更新方式選択信号出力回路127から第1の乱数更新方式選択信号が入力されることに応答して、カウント値更新信号出力回路125から出力されるカウント値更新信号S3を選択してカウンタ121に出力する。カウンタ121は、セレクタ128から供給されるカウント値更新信号S3の立ち上がりエッヂが入力されるタイミングにおいて、カウント値Cを更新してカウント値順列変更回路123に出力する。ここで、セレクタ128は、乱数更新方式選択信号出力回路127から第1の乱数更新方式選択信号が入力されたときに、カウント値更新信号出力回路125から出力されるカウント値更新信号S3に応答して、クロック信号出力回路124から出力される乱数発生用クロック信号S1に同期した数値データの更新を指示する数値更新信号を、カウンタ121に出力してもよい。
反転回路132は、クロック信号出力回路124から出力された乱数発生用クロック信号S1の信号レベルを反転させることにより、例えばタイミングT31,T32,…においてハイレベルからローレベルに立ち下がり、タイミングT41,T42,…においてローレベルからハイレベルに立ち上がる、図36(C)に示す反転クロック信号S2を生成する。反転回路132によって生成された反転クロック信号S2は、ラッチ信号生成回路133に出力される。
ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第1の乱数更新方式選択信号が入力されることに応答して、反転回路132から供給される反転クロック信号S2を、図36(D)に示すラッチ信号SLとして出力する。このような第1の乱数更新方式が選択された場合に、CPU106がカウント値更新レジスタ138にカウント値更新データ「01h」を書き込むタイミングを、乱数発生用クロック信号S1がローレベルからハイレベルに立ち上がるタイミングT31,T32…のいずれかとなるように制御する。なお、セレクタ128がクロック信号出力回路124から出力される乱数発生用クロック信号S1に同期した数値更新指示信号を出力可能な場合には、このような制御が行われなくても、タイミングT31,T32…のいずれかにおいて信号レベルが切り替わる数値更新指示信号がカウンタ121へ出力されることになる。これにより、乱数回路103は、タイミングT31,T41,T32,T42,T33,T43…のうち、タイミングT32において、カウント値Cを更新し、タイミングT33とは異なるタイミングT41,T42,T43…において、ラッチ信号SLを出力することができる。すなわち、第1の乱数更新方式が選択された場合でも、乱数回路103は、カウンタ121によるカウント値Cの更新タイミングと、ラッチ信号生成回路133によるラッチ信号SLの出力タイミング(ラッチタイミング)とを、確実に異ならせることができ、乱数値の取得を確実且つ安定的に行うことができる。
この第1の乱数更新方式が選択された場合、CPU106は、図30のフローチャートに示す遊技制御割込処理に代えて、図37に示す処理を実行する。
図37に示す遊技制御割込処理において、CPU106は、まず、所定の電源断処理を実行することにより、電源基板10から供給される電力が低下したときなどに所定のデータ保護処理等を実行可能とする(ステップS191)。続いて、所定のスイッチ処理を実行することにより、始動入賞口スイッチ70等の各入賞口スイッチから入力される検出信号の状態を判定する(ステップS192)。次に、CPU106は、表示用乱数更新処理(ステップS193)を実行する。続いて、CPU106は、初期値変更プログラム153を実行して、図31に示す初期値変更処理を行う(ステップS194)。さらに、CPU106は、カウント値順列変更プログラム154を実行して、カウント値順列変更処理を行う(ステップS195)。
そして、CPU106は、この乱数値更新プログラム155を実行して、乱数値更新処理を行う(ステップS196)。この乱数値更新処理において、CPU106は、クロック信号出力回路124から出力される乱数発生用クロック信号S1の立ち上がりエッヂと同期して、カウント値更新データ「01h」をカウント値更新レジスタ138に書き込むことにより、カウンタ121によりカウントされているカウント値Cを更新させる。カウンタ121におけるカウント値Cは、ラッチ信号生成回路133からラッチ信号SLとして出力される反転クロック信号S2の立ち上がりエッヂと同期して、乱数値記憶回路131に取り込まれて記憶される。
続いて、特別図柄プロセス処理を実行する(ステップS197)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選択されて実行される。特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、CPU106は、普通図柄プロセス処理を実行する(ステップS198)。普通図柄プロセス処理では、普通図柄表示器40を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選択されて実行される。普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。さらに、特別図柄コマンド制御処理(ステップS199)と、普通図柄コマンド制御処理(ステップS200)と、を順次実行する。これにより、CPU106は、主基板11から表示制御基板12に対して表示制御コマンドを送ることにより、可変表示装置4の表示制御や普通図柄表示器40の点灯制御を指示する。続いて、CPU106は、所定の情報出力処理を実行することにより、各種出力データをI/Oポート108に含まれる各出力ポートに出力する(ステップS201)。この情報出力処理では、主基板11から情報端子基板16に、大当り情報、始動情報、確率可変情報などをホール管理用コンピュータに対して出力する指令の送出も行われる。また、CPU106は、所定の賞球処理を実行することにより、始動入賞口スイッチ70等の各入賞口スイッチから入力された検出信号に基づく賞球数の設定などを行い、払出制御基板15に対して払出制御コマンドを出力可能とする(ステップS202)。さらに、CPU106は、所定のソレノイド出力処理を実行することにより、所定の条件が成立したときに普通可変入賞球装置6における可動翼片や特別可変入賞球装置7における開閉板の開閉駆動を行う(ステップS203)。
このように、ユーザの設定に応じて第1及び第2の乱数更新方式のいずれかが選択され、選択された乱数更新方式で乱数値記憶回路131にランダムRの値を記憶させることができる。このため、パチンコ遊技機1毎に異なる乱数更新方式を選択することにより、乱数値記憶回路131から読み出されるランダムRの値のランダム性を高めることができる。また、カウンタ121がカウント値Cを更新するタイミングや、乱数値記憶回路131にカウント値Cを取り込んでランダムRの値を更新するタイミングを指定することができるので、更新されていない乱数値が読み出されることを防止できる。
また、上記の実施例では、始動入賞口スイッチ70からの始動入賞信号SSが、スイッチ回路109を介して遊技制御用マイクロプロセッサ100の乱数回路103とCPU106とに入力される場合について説明した。これに対して、始動入賞口スイッチ70からの始動入賞信号SSは、CPU106に入力させ、乱数回路103には入力しないようにしてもよい。この場合には、CPU106がラッチ用始動入賞信号SNを生成して乱数回路103に供給すればよい。
図38は、CPU106にてラッチ用始動入賞信号SNを生成して乱数回路103に供給する場合における、乱数回路103の構成例を示すブロック図である。なお、図38において、図4と同様の構成には同一の符号が付されている。
図38に示す構成において、乱数値読取信号出力回路126に設けられた乱数値取込レジスタ139には、CPU106からのラッチ用始動入賞信号SNとして、乱数値取込データ「01h」が書き込まれる。乱数値読取信号出力回路126は、乱数値取込レジスタ139に乱数値取込データ「01h」が書き込まれたことに応答して、乱数値読取信号をラッチ信号生成回路133に出力する。
また、遊技制御用マイクロプロセッサ100は、図25に示すような特図保留メモリ170と、大当り判定用テーブルメモリ171と、フラグメモリ172と、始動入賞口スイッチタイマメモリ173とを備えており、フラグメモリ172には、乱数値読出フラグが設けられている。乱数値読出フラグは、CPU106がラッチ用始動入賞信号SNを乱数回路103に送出したときにオン状態にセットされ、乱数値記憶回路131からランダムRの値が読み出されるとクリアされてオフ状態となる。
図38に示すような構成の乱数回路103を備えるパチンコ遊技機1において、第2の乱数更新方式が選択された場合、CPU106は、図27のフローチャートに示すステップS10の乱数回路設定処理として、図28のフローチャートに示す処理を実行する。これにより、乱数回路103は、例えば図39に示すようなタイミングチャートに従って動作する。
図39に示す動作例において、クロック回路101から乱数回路103へは、タイミングT51,T61,…においてローレベルからハイレベルに立ち上がる、図39(A)に示す基準クロック信号CLKが供給されるものとする。
クロック信号出力回路124は、クロック回路101から供給された基準クロック信号CLKを分周して、例えばタイミングT51,T52,…においてローレベルからハイレベルに立ち上がり、タイミングT61,T62,…においてハイレベルからローレベルに立ち下がる、図39(B)に示す乱数発生用クロック信号S1を生成する。クロック信号出力回路124によって生成された乱数発生用クロック信号S1は、セレクタ128と反転回路132とに出力される。
セレクタ128は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、クロック信号出力回路124から出力された乱数発生用クロック信号S1を選択してカウンタ121に出力する。カウンタ121は、セレクタ128から供給される乱数発生用クロック信号S1の立ち上がりエッヂが入力される毎に、カウント値Cを更新してカウント値順列変更回路123に出力する。
反転回路132は、クロック信号出力回路124から出力された乱数発生用クロック信号S1の信号レベルを反転させることにより、例えばタイミングT51,T52,…においてハイレベルからローレベルに立ち下がり、タイミングT61,T62,…においてローレベルからハイレベルに立ち上がる、図39(C)に示す反転クロック信号S2を生成する。反転回路132によって生成された反転クロック信号S2は、ラッチ信号生成回路133に出力される。
ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、CPU106から入力される図39(D)に示すラッチ用始動入賞信号SNを、反転回路132から供給される反転クロック信号S2の立ち上がりエッヂに同期させて、図39(E)に示すラッチ信号SLとして出力する。より具体的には、ラッチ信号生成回路133は、CPU106から入力される図39(D)に示すようなラッチ用始動入賞信号SNを、反転回路132から供給される反転クロック信号S2の立ち上がりエッヂタイミングにおいて取り込むとともに、取り込まれたラッチ用始動入賞信号SNの信号レベルに対応して、図39(E)に示すようなラッチ信号SLを出力する。
これにより、乱数回路103は、タイミングT51,T61,T52,T62,T53,T63…のうち、タイミングT51,T52,T53…において、カウント値Cを更新し、タイミングT51,T52,T53とは異なるタイミングT62において、ラッチ信号SLを出力することができる。
また、図38に示す構成の乱数回路103を備えるパチンコ遊技機1において、第2の乱数更新方式が選択された場合、CPU106は、図30のフローチャートに示すステップS106の特別図柄プロセス処理を開始すると、図40に示すステップS251〜S262の処理を実行する。
図40に示す処理において、CPU106は、まず、フラグメモリ172に設けられた乱数値読出フラグがオンとなっているか否かを判別する(ステップS251)。乱数値読出フラグがオフであるときには(ステップS251;No)、始動入賞口スイッチタイマメモリ173に記憶されているタイマ値をチェックすることにより、判別する(ステップS252)。ステップS252において、CPU106は、始動入賞口スイッチタイマメモリ173に記憶されているタイマ値をロードし、ロードしたタイマ値を所定のスイッチオン判定値(例えば「2」)と比較する。ここで、スイッチオン判定値は、遊技制御割込処理の実行回数(例えば「2」)に対応して予め定められている。これにより、CPU106は、所定回(例えば2回)の遊技制御割込処理が実行されている間(例えば4ミリ秒)、始動入賞口スイッチ70から始動入賞信号SSが継続して入力されたが否かを判別することができる。
そして、この比較結果に基づいて、CPU106は、タイマ値がスイッチオン判定値「2」以上であるか否かを判定する。タイマ値がスイッチオン判定値「2」以上である場合には、遊技球が入賞しているものと判別して(ステップS252;Yes)、特図保留メモリ170が記憶している始動入賞記憶数が所定の最大値(例えば、「4」)であるか否かを判別する(ステップS253)。ここで、特図保留メモリ170において、例えば始動入賞記憶番号「4」に対応したランダムRが記憶されている場合には、始動入賞記憶数が最大値であると判別される。
始動入賞記憶数が最大値であるときには(ステップS253;Yes)、今回の入賞による始動検出は無効とし、特別図柄プロセスフラグの値に基づいて、図32に示すステップS150〜S158の9個の処理のいずれかを選択して実行する。一方、始動入賞記憶数が最大値ではないときには(ステップS253;No)、乱数回路103にラッチ用始動入賞信号SNを送出して、乱数値読取信号出力回路126に設けられた乱数値取込レジスタ139に、乱数値取込データ「01h」を書き込む(ステップS254)。このときには、乱数値読出フラグをオン状態にセットした後(ステップS255)、図32に示すステップS150〜S158の処理のうちから特別図柄プロセスフラグの値に対応した処理が選択されて実行される。
この後に再び特別図柄プロセス処理が実行されたときには、ステップS251にて乱数値読出フラグがオンであると判別される(ステップS251;Yes)。このとき、CPU106は、乱数値記憶回路131に出力制御信号SCを送出して、乱数値記憶回路131を読出可能(イネイブル)状態に制御する(ステップS256)。続いて、CPU106は、乱数値記憶回路131から乱数値として記憶されているランダムRの値を読み出し(ステップS257)、この読み出したランダムRの値を、例えばRAM105に設けられた所定のバッファ領域に格納した後(ステップS258)、乱数値記憶回路131への出力制御信号SCの送出を停止して、乱数値記憶回路131を読出不能(ディセイブル)状態に制御する(ステップS259)。そして、CPU106は、始動入賞記憶数を「1」加算し(ステップS260)、所定のバッファ領域に格納したランダムRの値を特図保留メモリ170の空エントリの先頭にセットする(ステップS261)。この後、CPU106は、乱数値読出フラグをクリアしてオフ状態とし(ステップS262)、図32に示すステップS150〜158の処理のうちで特別図柄プロセスフラグの値に対応したものに進む。
以上のように、図38に示すような構成の乱数回路103を備えるパチンコ遊技機1においては、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されることに応答して、セレクタ128がクロック信号出力回路124から出力される乱数発生用クロック信号S1を選択してカウンタ121に出力する。これにより、カウンタ121には、タイミングT51,T52,T53,…において、ローレベルからハイレベルに立ち上がる乱数発生用クロック信号S1が供給される。また、クロック信号出力回路124から出力される乱数発生用クロック信号S1は、反転回路132によって信号レベルが反転された後、反転クロック信号S2としてラッチ信号生成回路133に出力される。ラッチ信号生成回路133は、乱数更新方式選択信号出力回路127から第2の乱数更新方式選択信号が入力されていることに応答して、乱数値読取信号出力回路126から出力される乱数値読取信号を、反転回路132から入力される反転クロック信号S2に同期させて、タイミングT62において、ローレベルからハイレベルに立ち上がるラッチ信号SLとして乱数値記憶回路131に出力する。
このようにして、図38に示す構成を有する乱数回路103は、クロック信号出力回路124から出力される乱数発生用クロック信号S1がローレベルからハイレベルに立ち上がるタイミングT51,T52,T53,…においてカウント値Cを更新し、これらのタイミングT51,T52,T53,…とは異なるタイミングT61,T62,T63,…においてラッチ信号SLを出力することができる。そして、乱数値記憶回路131は、この更新されたカウント値Cをラッチ信号SLの立ち上がりエッヂに応答して、ランダムRとして記憶する。
このため、図38に示す乱数回路103は、カウンタ121によるカウント値Cの更新タイミングと、ラッチ信号生成回路133によるラッチ信号SLの出力タイミング(ラッチタイミング)とを、確実に異ならせることができ、乱数値の取得を確実且つ安定的に行うことができる。
また、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106は、パチンコ遊技機1に電力が供給され、遊技制御メイン処理が開始された後、タイマ割込処理の実行を許可してループ処理に移行する前に、乱数回路設定プログラム151を実行して乱数回路設定処理を行う。このため、限られた割り込み処理時間(例えば2ミリ秒)の間で乱数発生のための処理を開始・終了する必要はなくなり、遊技制御用マイクロプロセッサ100の処理負担の増加を防止することができる。さらに、図38に示す乱数回路103をCPU106とともに遊技制御用マイクロプロセッサ100に内蔵させることで、主基板11のスペースを確保することができ、また、不正基板の設置等の偽造を困難にすることができる。
なお、好適には、乱数回路設定処理は、遊技状態復旧処理の実行後又はRAM105のクリアや所定の作業領域に対する初期設定などの初期化処理の実行後、タイマ割込処理の実行を許可してループ処理に移行する前に、実行されることが望ましい。
図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106は、普通可変入賞球装置6へ遊技球が入賞したものと判別したとき、乱数回路103にラッチ用始動入賞信号SNを送出し、乱数値取込レジスタ139に乱数値取込データ「01h」を書き込む。このため、パチンコ遊技機1は、始動入賞スイッチ70から乱数回路103へ始動入賞信号SSを供給するための経路を設ける必要がなく、そのハードウェア構成を簡素化することができる。
また、CPU106は、図38に示す乱数回路103が発生するランダムRの値を用いて特図ゲームおける表示結果を大当りとするか否かを決定する。これにより、ROM104等に記憶するプログラムの容量を削減することができる。
さらに、ランダムRの値は、図38に示す乱数回路103にて更新されるので、ソフトウェアで更新するものに比べて、ROM104等が記憶するプログラムの容量を少なくすることできる。
また、図38に示す乱数回路103が備える乱数値記憶回路131に記憶されているランダムRの値を、乱数回路設定プログラム151を実行してなされた設定に従って更新させる。これにより、パチンコ遊技機1毎に異なる設定を行い、特図ゲームにおける表示結果を大当りとするか否かを判定するために乱数値記憶回路131から読み出されるランダムRのランダム性を高めることができる。
より詳細には、CPU106は、乱数回路設定プログラム151に含まれる乱数最大値設定モジュール151a,乱数更新方式選択モジュール151b及び周期設定モジュール151cを実行して、ユーザがパチンコ遊技機1毎に適宜設定したランダムRの最大値、乱数更新方式及び乱数発生用クロック信号S1の周期を図38に示す構成を有する乱数回路103に設定し、その後、乱数回路起動モジュール151dを実行して図38に示す乱数回路103を起動させる。このようにして図38に示す乱数回路103に設定されたランダムRの最大値、乱数更新方式及び内部クロック信号の周期に従って、乱数値記憶回路131に格納されているランダムRの値を更新させる。これにより、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
図38に示す乱数回路103が備える比較器122には、ランダムRの最大値(乱数最大値)を指定する乱数最大値設定データが格納される乱数最大値設定レジスタ135が設けられている。比較器122は、乱数最大値設定レジスタ135に格納された乱数最大値設定データに応じて、カウンタ121によるカウント値の更新範囲を規制する。これにより、図38に示す乱数回路103を備えるパチンコ遊技機1毎に異なる乱数の最大値を設定することができ、可変表示における表示結果を特定表示結果とするか否かに用いられる乱数値のランダム性を高めることができる。
さらに、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106がカウント値順列変更プログラム154を実行して、カウント値の更新順である順列を変更させる。図38に示す乱数回路103が備えるカウント値順列変更回路123には、順列の変更を要求するカウント値順列変更データ「01h」を格納するカウント値順列変更レジスタ136が設けられている。カウント値順列変更回路123は、カウント値順列変更レジスタ136にカウント値順列変更データ「01h」が書き込まれたことに応答して更新規則を切り替えることにより、カウント値順列変更データ「01h」が格納されていないときとは異なる更新順の順列に変更する。これにより、乱数値記憶回路131に入力されるカウント値Cのランダム性が高まる結果、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
また、図38に示す乱数回路103が備えるカウント値順列変更回路123が、切り替えた更新規則に従ってカウント値の更新動作を開始したことに応答して、CPU106は、カウント値順列変更データ「01h」が書き込まれたカウント値順列変更レジスタ136を初期化する。このため、カウント値順列変更回路123から出力され、乱数値記憶回路131に入力されるカウント値の順列が連続的に変更されるといった不具合を防止することができる。
さらに、図38に示す乱数回路103に設けられたカウント値順列変更レジスタ136が初期化された後、CPU106は、カウント値順列データ「01h」をカウント値順列変更レジスタ136に再度書き込む。これにより、変更したカウント値の順列をさらに変更することができる。
また、図38に示す乱数回路103が備えるカウンタ121により更新されるカウント値の初期値を変更させることにより、カウント値が初期値から最終値までカウントアップされる周期の検出を困難にすることができる。これにより、ステップS173にて乱数値記憶回路131から読み出されるランダムRの値と大当り判定値とが合致するタイミングを狙って所定の信号を出力し、大当りを頻発させるといった不正行為を防止することができる。
さらに、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106は、リセットコントローラ102によりシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ135、周期設定データが書き込まれた周期設定レジスタ137及び乱数更新方式選択データが書き込まれた乱数更新方式選択レジスタ140を書込不能に制御して乱数回路103に設定された乱数最大値、乱数発生用クロック信号S1の周期及び乱数更新方式を変更不能にする。これにより、悪質な遊技客が乱数最大値、乱数発生用クロック信号S1の周期及び乱数更新方式を変更して乱数値記憶回路131から読み出されるランダムRの値と大当り判定値とが一致するタイミングを自在に設定し、大当りを頻発させるといった不正行為を防止することができる。
また、図38に示す乱数回路103を備えるパチンコ遊技機1のユーザがパチンコ遊技機1毎に適宜選択した初期値変更方式により、カウント値の初期値を変更させる。このため、乱数値記憶回路131から読み出され、特図ゲームおける表示結果を大当りとするか否かを判定するのに用いられる乱数値のランダム性を高めることができる。
さらに、図38に示す乱数回路103に設けられた乱数最大値設定レジスタ135に、下限値「4」以下の値を指定する乱数最大値設定データ「0000h」〜「0003h」が書き込まれた場合、CPU106は、この乱数最大値設定レジスタ135に「0FFFh」を格納する。このため、「4」以下の値が乱数最大値として乱数回路103に設定されることを防止することができる。
また、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106により変更された初期値が乱数最大値より大きい場合、比較器122は、カウント値更新信号を順次出力して、カウンタ121に、カウント値を変更された初期値から最終値まで連続的に更新させ、通知信号を出力させることにより、この変更された初期値をCPU106にさらに変更させることができる。これにより、乱数値記憶回路131に出力されるカウント値が乱数最大値より大きくなることを防止することができる。
さらに、図38に示す乱数回路103に設けられた周期設定レジスタ137に、下限値「システムクロック信号の周期×128×7」以下の値を指定する周期設定コマンド「00h」〜「06h」が書き込まれた場合、CPU106は、この周期設定レジスタ137に「07h」を格納する。このため、「システムクロック信号の周期×128×7」より小さい値が内部クロック信号の周期として乱数回路103に設定されることを防止することができる。
また、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106は、乱数回路103に乱数の最大値、乱数更新方式及び乱数発生用クロック信号S1の周期を設定した後に、乱数回路103を起動させる。このため、電力の供給開始後、乱数の最大値、乱数更新方式及び乱数発生用クロック信号S1の周期の設定を行う前に、この乱数回路103から乱数が発生してしまうといった不具合を防止することができる。
また、図38に示す乱数回路103を備えるパチンコ遊技機1において、リセットコントローラ102によりシステムリセットされたときは、乱数回路起動レジスタ141に乱数回路起動データ「80h」を書き込むことにより、乱数回路103を再度起動させることができる。
図38に示す乱数回路103を備えるパチンコ遊技機1において、始動入賞口スイッチ70は、始動入賞口である普通可変入賞球装置6へ遊技球が入賞したことに基づいて、始動入賞信号SSをCPU106に出力する。CPU106は、所定回(例えば2回)のタイマ割込処理が実行されている間(例えば4ミリ秒)、始動入賞口スイッチ70から始動入賞信号SSが継続して入力されたことに基づいて、普通可変入賞球装置6へ遊技球が入賞したものと判別し、乱数回路103にラッチ用始動入賞信号SNを送出し、乱数値取込レジスタ139に乱数値取込データ「01h」を書き込む。
この後、最初に行われる遊技制御割込処理において、CPU106は、乱数値記憶回路131に出力制御信号SCを送出して乱数値記憶回路131を読出可能(イネイブル)状態に制御した後、乱数値記憶回路131からランダムRの値を読み出す。そして、CPU106は、乱数値記憶回路131への出力制御信号SCの送出を停止して乱数値記憶回路131を読出不能(ディセイブル)状態に制御した後、読み出したランダムRの値が所定の判定値「3」などと一致するか否かを判定することにより、可変表示装置4による特図ゲームの表示結果を大当り遊技状態とするか否かを決定する。
このように、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106は、2回のタイマ割込処理としての遊技制御割込処理が実行されている間、始動入賞信号SSが継続して入力されたことに基づいて、普通可変入賞球装置6へ遊技球が入賞したものと判別する。このため、パチンコ遊技機1は、ノイズの影響等により誤って乱数回路103にラッチ用始動入賞信号SNが出力されることを防止することができる。
さらに、図38に示す乱数回路103を備えるパチンコ遊技機1において、CPU106がランダムRの値を読み出すときのみ、乱数値記憶回路131を読出可能状態に制御する。これにより、パチンコ遊技機1は、乱数値の取得をより一層、確実且つ安定的に行うことができる。また、CPU106は、始動入賞口である普通可変入賞球装置6へ遊技球が入賞したときのみ、乱数値記憶回路131からランダムRの値を読み出すため、パチンコ遊技機1は、無駄な処理を省略することができる。
また、図38に示す乱数回路103が備える乱数値記憶回路131は、ラッチ信号生成回路133からラッチ信号SLが入力されているとき、遊技制御用マイクロプロセッサ100から入力される出力制御信号(ハイレベルの信号)SCをローレベルの信号に変換することにより、出力制御信号SCに対して受信不能状態に制御する。これにより、乱数値記憶回路131に記憶されているランダムRの値が更新されているときに、CPU106により乱数値記憶回路131からランダムRの値が読み出されることを防止することができるため、パチンコ遊技機1は、乱数値の更新を確実且つ安定的に行うことができる。
さらに、図38に示す乱数回路103が備える乱数値記憶回路131は、遊技制御用マイクロプロセッサ100から出力制御信号SCが入力されているとき、ラッチ信号生成回路133から入力されるラッチ信号(ハイレベルの信号)SLをローレベルの信号に変換することにより、ラッチ信号SLに対して受信不能状態に制御する。これにより、遊技制御用マイクロプロセッサ100が乱数値記憶回路131からランダムRの値を読み出しているときに、乱数値記憶回路131に記憶されているランダムRの値が更新されることを防止することができるため、パチンコ遊技機1は、乱数値の取得を確実且つ安定的に行うことができる。
図38に示す乱数回路103を備えるパチンコ遊技機1において、第1の乱数更新方式が選択された場合には、図4に示す乱数回路103を備えるパチンコ遊技機1において第1の乱数更新方式が選択された場合と同様に、図27に示すステップS10の乱数回路設定処理として、図35のフローチャートに示す処理を実行する。図35に示すような乱数回路設定処理が実行されることにより、図38に示す乱数回路103は、例えば図36に示すようなタイミングチャートに従って動作する。また、第1の乱数更新方式が選択された場合には、CPU106が図30のフローチャートに示す遊技制御割込処理に代えて図37に示す処理を実行し、ステップS196にて乱数値更新処理を行う。この乱数値更新処理において、CPU106は、クロック信号出力回路124から出力される乱数発生用クロック信号S1の立ち上がりエッヂと同期してカウント値更新データ「01h」をカウント値更新レジスタ138に書き込むことにより、カウンタ121によりカウントされているカウント値Cを更新させる。カウンタ121におけるカウント値Cは、ラッチ信号生成回路133からラッチ信号SLとして出力される反転クロック信号S2の立ち上がりエッヂと同期して、乱数値記憶回路131に取り込まれて記憶される。
このように、図38に示す乱数回路103を備えるパチンコ遊技機1においても、ユーザの設定に応じて第1及び第2の乱数更新方式のいずれかが選択され、選択された乱数更新方式で乱数値記憶回路131にランダムRの値を記憶させることができる。このため、パチンコ遊技機1毎に異なる乱数更新方式を選択することにより、乱数値記憶回路131から読み出されるランダムRの値のランダム性を高めることができる。また、カウンタ121がカウント値Cを更新するタイミングや、乱数値記憶回路131にカウント値Cを取り込んでランダムRの値を更新するタイミングを指定することができるので、更新されていない乱数値が読み出されることを防止できる。
なお、この発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、この発明に適用可能な上記の実施の形態の変形態様について説明する。
上記実施の形態では、クロック信号出力回路124から出力された信号を乱数発生用クロック信号S1としてセレクタ128と反転回路132とに出力し、その信号における信号レベルを反転回路132にて反転させて生成した信号を反転クロック信号S2としてラッチ信号生成回路133に出力していた。しかしながら、本発明は、これに限定されず、クロック信号出力回路124から出力された信号をラッチ信号生成回路133に出力し、その信号における信号レベルを反転させて生成した信号をセレクタ128に出力するようにしてもよい。すなわち、カウンタ121がカウント値Cを更新するために用いる信号における信号レベルを反転させた信号と同期させて、ラッチ信号SLを乱数値記憶回路131に供給できるものであればよい。
また、カウンタ121やラッチ信号生成回路133は、乱数発生用クロック信号S1や反転クロック信号S2の立ち上がりエッヂに応答してカウント値Cの更新やラッチ信号SLの出力を行うものに限定されず、例えば、各信号の立ち下がりエッヂに応答してカウント値Cの更新やラッチ信号SLの出力を行うものであってもよい。すなわち、カウンタ121及びラッチ信号生成回路133は、例えば乱数発生用クロック信号S1あるいは反転クロック信号S2における信号レベルが予め定められた第1の信号レベルから第2の信号レベルへと変化するといった、所定の態様での信号変化に応答して、カウント値Cの更新やラッチ信号SLの出力を行うことができるものであればよい。
上記の実施の形態において、カウンタ121は、カウント値を「1」から「4095」まで1ずつカウントアップして更新していた。しかしながら、本発明は、これに限定されず、カウンタ121は、カウント値を更新する規則は、任意である。上記実施の形態では、カウンタ121はアップカウンタであったが、ダウンカウンタであってもよい。さらに、数値更新手段は、カウンタ121に限定されず、疑似乱数発生回路であってもよい。また、カウンタ121の各ビット出力端子の接続を入れ替えること等により、乱数値記憶回路131に入力されるカウント値Cのランダム性を高めてもよい。
さらに、上記の実施の形態において、更新範囲規制手段は、カウンタ121から入力されたカウント値Cと乱数最大値設定レジスタ135に格納されている乱数最大値設定データにより指定される乱数最大値とを比較し、入力されたカウント値Cが乱数最大値以下のとき、入力されたカウント値Cを乱数値記憶回路131に出力し、入力されたカウント値Cが乱数最大値より大きいとき、カウント値更新信号をカウンタ121に出力する比較器122であった。しかしながら、本発明は、これに限定されず、更新範囲規制手段は、乱数最大値設定レジスタ135に格納されている乱数最大値設定データに応じて、所定の演算を行い、カウント値の更新範囲を規制するもの等、任意である。
例えば図41に示すように、更新範囲規制手段は、カウンタ121から入力されたカウント値Cが「0」〜「99」で、乱数最大値設定レジスタ135に格納されている乱数最大値設定データにより指定される乱数最大値「9」の場合、入力カウント値「0」〜「9」のときカウント値「0」を、入力カウント値「10」〜「19」のときカウント値「1」を、…、入力カウント値「90」〜「99」のときカウント値「9」を、出力することにより、カウント値の更新範囲を「9」に規制するものであってもよい。
また、上記の実施の形態において、乱数値記憶回路131から読み出したランダムRの値を、大当りを発生させてパチンコ遊技機1を大当り遊技状態とするか否かを決定する大当り判定用の乱数として用いるものとして説明した。しかしながら、本発明は、これに限定されず、この読み出したランダムRの値を、何に用いるかは任意であり、ハズレ時にリーチするか否かを決定するリーチ判定用の乱数、特別図柄及び飾り図柄の可変表示に用いる可変表示パターンを決定するための表示用の乱数、大当り時における特別図柄の確定図柄を決定するための表示用の乱数、ハズレ時における特別図柄の確定図柄を決定するための表示用の乱数、大当りを生じさせる確率が向上している高確率状態(特別遊技状態)とするか否かを決定する確変判定用の乱数や、普通図柄表示器40による普通図ゲームにおける表示結果を当りとするか否かを決定する普通図当り判定用の乱数などに用いてもよい。但し、ここに挙げた乱数の全てを乱数回路103を用いて更新する必要はなく、一部の乱数を乱数回路103を用いずに更新してもよい。例えば、これらの乱数のうちの一部を、遊技制御割込処理中に所定のプログラムを実行することによって、更新してもよく、また、リフレッシュレジスタを用いた乱数の更新方式を併用してもよい。さらに、乱数値記憶回路131から読み出したランダムRの値と、遊技制御割込処理中に所定のプログラムを実行することによって更新した乱数の値及び/又はリフレッシュレジスタを用いて更新した乱数の値と、を加算、減算、積算、乗算、除算するなど、演算して得られた値を、大当り、リーチ、可変パターン等の決定用の乱数として用いてもよい。
上記の実施の形態において、CPU106は、遊技制御メイン処理において、ステップS8による遊技状態復旧処理又はS9による初期化処理の後、ステップS11によるCTC107によるタイマ割込みのための設定をする前に、乱数回路設定処理を実行していたが、本発明は、これに限定されず、電力供給が開始された後、ループ処理に移行する前であれば任意であり、例えば、ステップS1にて割込禁止に設定した直後に行ってもよく、ステップS2にて割込モードをモード2に設定した直後に行ってもよい。また、ステップS3にてスタックポインタにスタックポインタ指定アドレスを設定した直後、ステップS4にてCTC107などのレジスタ設定を行った直後や、ステップS11にてタイマ割込みのための設定をした直後に行ってもよい。
さらに、上記実施の形態において、CPU106は、図30に示す遊技制御割込処理において、ステップS105によるカウント値順列変更処理の後、ステップS106による特別図柄プロセス処理の前に、乱数値更新処理を実行していたが、本発明は、これに限定されず、遊技制御割込処理中であれば任意であり、例えば、ステップS103による表示用乱数更新処理の前に、乱数値更新処理を実行してもよい。また、乱数値更新処理を、ステップS103による表示用乱数更新処理の後、ステップS104による初期値変更処理の前に、行ってもよく、さらには、ステップS104による初期値変更処理の後、ステップS105によるカウント値順列変更処理の前に、行ってもよい。
また、上記実施の形態において、CPU106は、入賞時に、乱数値取込データ「01h」を乱数値取込レジスタ139に書き込んで、乱数値記憶回路131に格納されているランダムRの値を更新させていた。しかしながら、本発明は、これに限定されず、タイマ割込毎に、乱数値取込データ「01h」を乱数値取込レジスタ139に書き込んで、乱数値記憶回路131に格納されているランダムRの値を更新させてもよい。
さらに、上記の実施の形態において、ユーザプログラム実行データエリアの1F97h番地の領域に第3の初期値変更方式を指定する初期値変更方式設定データ「03h」が記憶されている場合、CPU106は、カウンタ121が更新するカウント値Cの初期値を、RAM105の各番地に格納されている値の加算値に変更させた。しかしながら、本発明は、これに限定されず、初期値変更方式設定データ「03h」が記憶されている場合に、変更される値は、RAM105の予め定められた番地に格納されている値に基づくものであれば、任意である。例えば、CPU106は、カウンタ121が更新するカウント値Cの初期値を、RAM105の各番地に格納されている値の積算値や乗算値等に変更させてもよい。
また、上記実施の形態において、乱数値記憶回路131は、AND回路201,203やOR回路221〜228などの論理回路を用いてラッチ信号SL及び出力制御信号SCの受信制御,ランダムRの出力制御などのイネイブル/ディセイブル制御を行っていた。しかしながら、本発明は、これに限定されず、乱数値記憶回路131は、I/Oポート108やラッチ信号生成回路133との間にFET(Field Effect Transistor)などのスイッチング素子を設け、ラッチ信号SLや出力制御信号SCの入力に応答して、I/Oポート108やラッチ信号生成回路133との経路を導通、遮断することにより、ラッチ信号SLや出力制御信号SCのイネイブル/ディセイブル制御を行ってもよい。
上記実施の形態において、タイマ回路134は、ハイレベルの信号が入力されたことに応答して起動し、入力がハイレベルとなっている間、クロック回路101から順次入力される基準クロック信号CLKをアップカウント又はダウンカウントし、アップカウント又はダウンカウントした値が、所定の時間に対応する値となったとき、入力された信号をハイレベルの信号であると判定して乱数値取込レジスタ139に乱数値取込データ「01h」を書き込むものであった。しかしながら、本発明は、これに限定されず、タイマ回路134は、始動入賞口スイッチ70から始動入賞信号SSが入力されている時間を計測し、計測した時間が所定の時間になったとき、始動入賞信号SSを出力するものであれば任意である。
さらに、上記実施の形態において、タイマ回路134は、クロック回路101から順次入力される基準クロック信号CLKを用いて信号の入力時間を計測していたが、本発明は、これに限定されず、タイマ回路134は、基準クロック信号CLKを分周したクロック信号や、クロック回路101とは異なるクロック信号生成回路から出力されるクロック信号を用いてもよい。また、上記実施の形態において、タイマ回路134には、所定の時間として3msが設定されていたが、本発明は、これに限定されず、2回のタイマ割込処理の実行時間である4msよりも短い時間であれば任意に設定可能である。
また、上記実施の形態において、CPU106は、2回のタイマ割込処理が実行されている間、始動入賞信号SSが継続して入力されたことに基づいて、入賞処理を実行していた。しかしながら、本発明は、これに限定されず、上述したタイマ割込処理の実行回数は、任意であり、例えば、CPU106は、3回のタイマ割込処理が実行されている間、始動入賞信号SSが継続して入力されたことに基づいて、入賞処理を実行してもよい。この場合、タイマ回路134には、3回のタイマ割込処理の実行時間である6msよりも短い時間を設定すればよい。
さらに、上記の実施の形態において、乱数回路103を内蔵する遊技機は、可変表示の実行条件(例えば普通可変入賞球装置6への入賞)が成立した後に可変表示の開始条件(例えば可変表示装置4における前回の可変表示及び大当り遊技状態の終了)が成立したことに基づいて、各々が識別可能な複数種類の識別情報を可変表示する可変表示装置(例えば可変表示装置4)を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態(例えば大当り遊技状態)に制御する遊技機であった。
しかしながら、本発明は、これに限定されず、例えば、乱数回路103を内蔵する遊技機は、遊技領域に設けられた始動領域にて遊技媒体を検出する始動検出手段(例えば始動玉検出器)の検出により、遊技者にとって不利な第2の状態から遊技者にとって有利な第1の状態となる始動動作(例えば開放動作)を行う可変入賞装置(例えば可変入賞球装置)を有し、可変入賞装置に設けられた特定領域にて遊技媒体を検出する特定検出手段(例えば特定玉検出器)の検出により、始動動作よりも遊技者にとってさらに有利な特定の態様で可変入賞装置を第1の状態に制御する特定遊技状態(例えば大当り遊技状態)を発生させるパチンコ遊技機であってもよい。
この場合、乱数値記憶回路131から読み出したランダムRの値を、特定遊技状態(例えば大当り遊技状態)におけるラウンド(例えば所定の開閉部材により所定の入賞口を遊技者にとって有利な特定態様で開口させる動作)の継続上限回数の判定や、可変入賞装置(例えば可変入賞球装置)の内部構造変化に関わる判定用乱数として用いることができる。
また、乱数回路103を内蔵する遊技機は、特別領域(例えば特別装置作動領域)に設けられた特別検出手段(例えば特定球検出スイッチや特別領域スイッチ)で遊技球が検出されたことを条件に権利発生状態となり、権利発生状態となっている期間中に、始動領域(例えば作動入賞口や始動入賞装置における始動口)に設けられた始動検出手段(例えば作動球検出スイッチや始動口スイッチ)により遊技球が検出されたことに基づいて、特別可変入賞装置(例えば大入賞口)を遊技者にとって不利な状態(例えば閉鎖状態)から遊技者にとって有利な状態(例えば開放状態)に変化させる制御を行うことが可能なパチンコ遊技機であってもよい。
こうしたパチンコ遊技機が、入賞することにより権利発生状態を発生させる入賞装置の開閉に関わる表示結果を表示する可変表示装置を備える遊技機である場合、乱数値記憶回路131から読み出した乱数を、普通図柄の事前判定用乱数として用いることができる。さらに、この種のパチンコ遊技機が、可変表示装置にて特定の表示結果が表示されたときに、可変表示装置に特定の表示結果を導出させる起因となった遊技媒体を、権利発生状態を発生させる特定検出装置に遊技球を誘導する誘導装置を備える遊技機である場合、乱数値記憶回路131から読み出した乱数を、判定図柄の事前判定用乱数として用いることができる。
さらに、本発明の遊技機は、図42に示す、1ゲームに対して賭け数を設定することによりゲームを開始させることが可能となり、可変表示装置(例えば可変表示装置1002)の表示結果が導出表示されることにより1ゲームが終了し、該可変表示装置の表示結果に応じて所定の入賞が発生可能であるスロットマシン(例えばスロットマシン1000)であってもよい。図42に示すスロットマシン1000は、本発明の始動信号出力手段として、遊技者によりスタートレバー1011が操作されたことに基づいて所定の始動信号を遊技制御手段(例えば主基板)や乱数発生手段(例えば乱数発生回路)に出力する図示しないスタートスイッチを備えている。なお、図42に示す液晶表示器1001は、演出手段として機能するものである。
また、本発明の遊技機は、パチンコ遊技機等の弾球遊技機において画像表示装置を有するものであれば、例えば、一般電役機、又はパチコンと呼ばれる確率設定機能付き弾球遊技機等であっても構わない。さらには、プリペイドカードによって球貸しを行うCR式パチンコ遊技機だけではなく、現金によって球貸しを行うパチンコ遊技機にも適用可能である。すなわち、LCD等からなる画像表示装置を有し、識別情報としての図柄を可変表示することが可能な遊技機であれば、どのような形態のものであっても構わない。また、本発明は、入賞球の検出に応答して所定数の賞球を払い出す払出式遊技機に限定されるものではなく、遊技球を封入し入賞球の検出に応答して得点を付与する封入式遊技機にも適用することができる。
図1、図2及び図42に示した装置構成、図3、図4、図25及び図38に示すブロック構成、図5、図8、図10〜図15に示すレジスタ構成、図18及び図19に示すアドレスマップ、図21、図22に示すプログラム構成、図6、図26に示すテーブル構成、図16に示す回路構成、図27、図28、図30〜図35、図37、図40に示すフローチャート構成や、図29、図36、図39に示すタイミングチャート構成等は、発明の趣旨を逸脱しない範囲で任意に変更及び修正が可能である。
また、パチンコ遊技機1の動作をシミュレーションするゲーム機などにも本発明を適用することができる。本発明を実現するためのプログラム及びデータは、コンピュータ装置等に対して、着脱自在の記録媒体により配布・提供される形態に限定されるものではなく、予めコンピュータ装置等の有する記憶装置にプリインストールしておくことで配布される形態を採っても構わない。さらに、本発明を実現するためのプログラム及びデータは、通信処理部を設けておくことにより、通信回線等を介して接続されたネットワーク上の、他の機器からダウンロードすることによって配布する形態を採っても構わない。
そして、ゲームの実行形態も、着脱自在の記録媒体を装着することにより実行するものだけではなく、通信回線等を介してダウンロードしたプログラム及びデータを、内部メモリ等にいったん格納することにより実行可能とする形態、通信回線等を介して接続されたネットワーク上における、他の機器側のハードウェア資源を用いて直接実行する形態としてもよい。さらには、他のコンピュータ装置等とネットワークを介してデータの交換を行うことによりゲームを実行するような形態とすることもできる。
本発明の実施の形態におけるパチンコ遊技機の正面図である。 本発明の実施の形態におけるパチンコ遊技機の背面図である。 主基板における回路構成等を示すブロック図である。 乱数回路の一構成例を示すブロック図である。 更新規則選択レジスタの構成例を示す図である。 更新規則メモリの構成例を示す図である。 カウント値順列変更回路によるカウント値の順列の変更動作の説明図である。 カウント値順列変更レジスタの構成例を示す図である。 カウンタ及び比較器によるカウント値の更新動作の説明図である。 乱数最大値設定レジスタの構成例を示す図である。 周期設定レジスタの構成例を示す図である。 カウント値更新レジスタの構成例を示す図である。 乱数値取込レジスタの構成例を示す図である。 (A)は、乱数更新方式選択レジスタの構成例を示す図であり、(B)は、乱数更新方式選択データの説明図である。 乱数回路起動レジスタの構成例を示す図である。 乱数値記憶回路の構成例を示す図である。 乱数値記憶回路の動作を説明するためのタイミングチャートである。 遊技制御用マイクロプロセッサにおけるアドレスマップの一例を示す図である。 ROMにおけるアドレスマップの一例を示す図である。 初期値変更方式選択データの説明図である。 ユーザプログラムの構成例を示す図である。 乱数回路設定プログラムの構成例を示す図である。 第1の乱数更新方式が選択されているときのCPUによるランダム値の更新動作の説明図である。 第2の乱数更新方式が選択されているときのCPUによるランダム値の更新動作の説明図である。 遊技制御用マイクロプロセッサの構成例を示すブロック図である。 大当り判定テーブルの構成例を示す図である。 遊技制御メイン処理を示すフローチャートである。 乱数回路設定処理を示すフローチャートである。 乱数回路の動作を説明するためのタイミングチャートである。 遊技制御割込処理を示すフローチャートである。 図30における初期値変更処理のフローチャートである。 特別図柄プロセス処理を示すフローチャートである。 図32における入賞処理の詳細を示すフローチャートである。 図32における大当り判定処理の詳細を示すフローチャートである。 図28における乱数回路設定処理の変形例を示すフローチャートである。 乱数回路の動作を説明するためのタイミングチャートである。 図30における遊技制御割込処理の変形例を示すフローチャートである。 乱数回路の他の構成例を示すブロック図である。 図38に示す乱数回路の動作を説明するためのタイミングチャートである。 図32における特別図柄プロセス処理の変形例を示すフローチャートである。 図9に示すカウント値の更新動作の変形例の説明図である。 スロットマシンの正面図である。
符号の説明
1 … パチンコ遊技機
2 … 遊技盤
3 … 遊技機用枠
4 … 可変表示装置
6 … 普通可変入賞球装置
7 … 特別可変入賞球装置
8L,8R… スピーカ
9 … 遊技効果ランプ
10 … 電源基板
11 … 主基板
12 … 表示制御基板
13 … 音声制御基板
14 … ランプ制御基板
15 … 払出制御基板
16 … 情報端子基板
21,22 … ソレノイド
40 … 普通図柄表示器
70 … 始動入賞口スイッチ
100 … 遊技制御用マイクロプロセッサ
101 … クロック回路
102 … リセットコントローラ
103 … 乱数回路
104 … ROM
105 … RAM
106 … CPU
107 … CTC
108 … I/Oポート
109 … スイッチ回路
110 … ソレノイド回路
121 … カウンタ
122 … 比較器
123 … カウント値順列変更回路
124 … クロック信号出力回路
125 … カウント値更新信号出力回路
126 … 乱数値読取信号出力回路
127 … 乱数更新方式選択信号出力回路
128 … セレクタ
130 … 乱数回路起動信号出力回路
131 … 乱数値記憶回路
132 … 反転回路
133 … ラッチ信号生成回路
134 … タイマ回路
135 … 乱数最大値設定レジスタ
136 … カウント値順列変更レジスタ
137 … 周期設定レジスタ
138 … カウント値更新レジスタ
139 … 乱数値取込レジスタ
140 … 乱数更新方式選択レジスタ
141 … 乱数回路起動レジスタ
142 … 更新規則選択レジスタ
143 … 更新規則メモリ
150 … ユーザプログラム
151 … 乱数回路設定プログラム
151a… 乱数最大値設定モジュール
151b… 乱数更新方式選択モジュール
151c… 周期設定モジュール
151d… 乱数回路起動モジュール
152 … 表示結果決定プログラム
153 … 初期値変更プログラム
154 … カウント値順列変更プログラム
170 … 特図保留メモリ
171 … 大当り判定用テーブルメモリ
171a… 通常時大当り判定テーブル
171b… 確変時大当り判定テーブル
172 … フラグメモリ
201,203 … AND回路
202,204 … NOT回路
211〜218 … フリップフロップ回路
221〜228 … OR回路
1000 … スロットマシン
1001 … 液晶表示器
1002 … 可変表示装置
1011 … スタートレバー

Claims (15)

  1. 可変表示の実行条件が成立した後に可変表示の開始条件が成立したことに基づいて、各々が識別可能な複数種類の識別情報を可変表示する可変表示装置を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態に制御する遊技機であって、
    遊技機に電力を供給する電力供給手段と、
    乱数を発生する乱数回路と遊技の進行を制御する遊技制御手段とを内蔵し、前記電力供給手段から供給される電力を用いて動作するマイクロプロセッサと、
    所定の周期の基準クロック信号を生成して前記乱数回路に出力するクロック信号生成手段と、
    前記実行条件が成立したことに基づいて、始動信号を前記乱数回路と前記遊技制御手段とに出力する始動信号出力手段と、
    前記マイクロプロセッサからの制御信号に基づいて前記可変表示装置における識別情報の可変表示を制御する可変表示制御手段とを備え、
    前記乱数回路は、
    前記クロック信号生成手段から出力される基準クロック信号を用いて乱数発生用クロック信号を生成し、該乱数発生用クロック信号を出力する乱数発生用クロック信号生成手段と、
    前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号を反転させて反転クロック信号を生成し、該反転クロック信号を出力する反転クロック信号生成手段と、
    前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミングにおいて、数値データを更新する数値更新手段と、
    前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミングにおいて、前記始動信号出力手段から入力される始動信号をラッチ信号として出力するラッチ信号出力手段と、
    前記ラッチ信号出力手段から入力されるラッチ信号に応答して、前記数値更新手段により更新された数値データを乱数値として記憶する乱数値記憶手段とを含み、
    前記遊技制御手段は、
    前記電力供給手段による電力の供給開始後、前記乱数回路に前記乱数値を更新させるための設定を行う乱数回路設定手段と、
    前記乱数回路設定手段により前記乱数回路に前記設定が行われた後、定期的に発生するタイマ割込処理の実行を許可するタイマ割込処理実行許可手段と、
    前記タイマ割込処理の実行中、前記始動信号出力手段から始動信号が入力されたことに基づいて、前記乱数値記憶手段から乱数値を読み出して、該読み出した乱数値が所定の判定値データと合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段と
    前記表示結果決定手段が前記乱数値記憶手段から乱数値を読み出す前に、該乱数値記憶手段に出力制御信号を出力して該乱数値記憶手段を読出可能状態に制御し、該表示結果決定手段が前記乱数値記憶手段から乱数値を読み出した後、該乱数値記憶手段への出力制御信号の出力を停止して該乱数値記憶手段を読出不能状態に制御する読出制御手段とを含み、
    前記乱数値記憶手段は、前記ラッチ信号出力手段からラッチ信号が入力されているとき、前記読出制御手段から出力される出力制御信号に対して受信不能状態に制御する出力制御信号受信制御手段を含む、
    ことを特徴とする遊技機。
  2. 前記乱数回路は、
    該乱数回路が発生する乱数の最大値を指定する乱数最大値設定データを格納する乱数最大値設定レジスタと、
    前記乱数最大値設定レジスタに格納された乱数最大値設定データに応じて前記数値更新手段による更新範囲を規制する更新範囲規制手段とを含み、
    前記乱数回路設定手段は、前記乱数最大値設定レジスタに乱数最大値設定データを書き込む乱数最大値設定データ書込手段を含む、
    ことを特徴とする請求項1に記載の遊技機。
  3. 前記遊技制御手段は、前記乱数最大値設定手段が前記乱数最大値設定レジスタに書き込んだ前記乱数最大値設定データにより指定される前記乱数の最大値が所定の下限値より小さいとき、該所定の下限値以上の所定値を指定する乱数最大値設定データを該乱数最大値設定レジスタに格納する、
    ことを特徴とする請求項2に記載の遊技機。
  4. 前記数値更新手段は、前記数値データを所定の初期値から所定の最大値まで循環的に更新し、
    前記乱数回路は、前記数値更新手段により数値データが前記所定の最大値まで更新されたとき、その旨を通知する通知信号を出力する通知信号出力手段を含み、
    前記遊技制御手段は、前記タイマ割込処理の実行中、前記通知信号出力手段から出力された通知信号に応答して前記数値更新手段により更新される数値データにおける前記所定の初期値を変更させる初期値変更手段を含む、
    ことを特徴とする請求項1、2又は3に記載の遊技機。
  5. 前記初期値変更手段は、変更した初期値が前記乱数の最大値より大きいとき、該変更した初期値を再度変更させる手段を含む、
    ことを特徴とする請求項4に記載の遊技機。
  6. 前記乱数回路は、
    前記数値更新手段により更新される数値データの更新順である順列の変更を要求する数値順列変更データを格納する数値順列変更レジスタと、
    前記数値順列変更レジスタに前記数値順列変更データが格納されているとき、該数値順列変更データが格納されていないときの順列とは異なる更新順の順列に変更する数値順列変更手段とを含み、
    前記遊技制御手段は、前記タイマ割込処理の実行中、前記数値順列変更レジスタに前記数値順列変更データを書き込む数値順列変更データ書込手段を含む、
    ことを特徴とする請求項1から5のいずれか1項に記載の遊技機。
  7. 前記乱数回路は、
    前記数値更新手段による数値データの更新を要求する数値更新データを格納する数値更新レジスタと、
    前記数値更新手段により更新された数値データを乱数値として前記乱数値記憶手段に記憶することを指示する数値取込データを格納する数値取込レジスタと、
    乱数値を更新する方式である第1及び第2の乱数更新方式のうちから選択された乱数更新方式を指定する乱数更新方式選択データを格納する乱数値更新方式選択レジスタと、
    前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記乱数発生用クロック信号生成手段から出力されている乱数発生用クロック信号に代えて、前記数値更新レジスタに前記数値更新データが書き込まれたことに応答して数値データの更新を指示する数値更新指示信号を前記数値更新手段に出力し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記乱数発生用クロック信号生成手段から出力されている乱数発生用クロック信号を前記数値更新手段に出力する更新信号選択手段とを含み、
    前記乱数回路設定手段は、前記乱数回路に前記乱数値を更新させるための設定として、少なくとも前記第1及び前記第2の乱数更新方式のうちから選択された乱数更新方式を指定する前記乱数更新方式選択データを、前記乱数更新方式選択レジスタに書き込む更新方式設定手段を含み、
    前記遊技制御手段は、前記タイマ割込処理の実行中、前記第1の乱数更新方式が選択されているとき、前記数値更新データを前記数値更新レジスタに書き込む数値更新データ書込手段を含み、
    前記始動信号出力手段は、始動信号を出力するとき、前記数値取込レジスタに前記数値取込データを書き込み、
    前記数値更新手段は、前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記更新信号選択手段により選択されて入力される数値更新指示信号が前記所定の態様で変化するタイミングにおいて数値データを更新し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記更新信号選択手段により選択されて入力される前記乱数発生用クロック信号が所定の周期毎に前記所定の態様で変化するタイミングにおいて数値データを更新し、
    前記ラッチ信号出力手段は、前記乱数値更新方式選択レジスタに第1の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記反転クロック信号生成手段から出力される反転クロック信号をラッチ信号として出力し、前記乱数値更新方式選択レジスタに第2の乱数更新方式を指定する乱数更新方式選択データが格納されているとき、前記数値取込レジスタに前記数値取込データが書き込まれたことに応答して前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミングにおいてラッチ信号を出力する、
    ことを特徴とする請求項1から6のいずれか1項に記載の遊技機。
  8. 前記乱数回路は、前記数値更新手段による数値データの更新周期を指定する周期設定データを格納する周期設定レジスタを含み、
    前記乱数回路設定手段は、予め設定された更新周期を指定する前記周波数設定データを前記周期設定レジスタに書き込む周期設定手段を含み、
    前記乱数発生用クロック信号生成手段は、前記周期設定レジスタに格納されている周期設定データに応じて前記クロック信号生成手段から出力される基準クロック信号の周期を変更して前記乱数発生用クロック信号として出力する、
    ことを特徴とする請求項1から7のいずれか1項に記載の遊技機。
  9. 前記遊技制御手段は、前記周期設定手段が前記周期設定レジスタに書き込んだ前記周期設定データにより指定される前記更新周期が所定の下限値より小さいとき、該所定の下限値を指定する周期設定データを該周期設定レジスタに格納する、
    ことを特徴とする請求項8に記載の遊技機。
  10. 前記乱数回路は、
    該乱数回路の起動を要求する乱数回路起動データを格納する乱数回路起動レジスタと、
    前記乱数回路起動レジスタに前記乱数回路起動データが書き込まれたことに応答して、該乱数回路を起動させる乱数回路起動手段とを含み、
    前記乱数回路設定手段は、前記乱数回路起動データを前記乱数回路起動レジスタに書き込む乱数回路起動設定手段を含む、
    ことを特徴とする請求項1から9のいずれか1項に記載の遊技機。
  11. 前記マイクロプロセッサは、該マイクロプロセッサをシステムリセットするシステムリセット手段を含み、
    前記乱数回路起動設定手段は、前記システムリセット手段により前記マイクロプロセッサがシステムリセットされたとき、前記乱数回路起動データを前記乱数回路起動レジスタに再度書き込んで前記乱数回路を起動させる、
    ことを特徴とする請求項10に記載の遊技機。
  12. 前記乱数回路は、前記始動信号出力手段から始動信号が入力されている時間を計測し、該計測した時間が所定の時間になったとき、該始動信号を前記ラッチ信号出力手段に出力するタイマ手段を含む、
    ことを特徴とする請求項1から11のいずれか1項に記載の遊技機。
  13. 前記表示結果決定手段は、前記タイマ割込処理の実行回数が所定回に達するまでの間、前記始動信号出力手段から始動信号が継続して入力されたことに基づいて、前記乱数値記憶手段から乱数値を読み出し、
    前記タイマ手段は、
    前記タイマ割込処理の実行回数が前記所定回に達するまでの時間よりも短い時間を前記所定の時間として設定する設定手段を含み、前記計測した時間が前記設定手段により所定の時間として設定された時間になったとき、前記始動信号を前記ラッチ信号出力手段に出力する、
    ことを特徴とする請求項12に記載の遊技機。
  14. 前記乱数値記憶手段は、前記読出制御手段から出力制御信号が入力されているとき、前記ラッチ信号出力手段から出力されるラッチ信号に対して受信不能状態に制御するラッチ信号受信制御手段を含む、
    ことを特徴とする請求項1から13のいずれか1項に記載の遊技機。
  15. 可変表示の実行条件が成立した後に可変表示の開始条件が成立したことに基づいて、各々が識別可能な複数種類の識別情報を可変表示する可変表示装置を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態に制御する遊技機であって、
    遊技機に電力を供給する電力供給手段と、
    乱数を発生する乱数回路と遊技の進行を制御する遊技制御手段とを内蔵し、前記電力供給手段から供給される電力を用いて動作するマイクロプロセッサと、
    所定の周期の基準クロック信号を生成して前記乱数回路に出力するクロック信号生成手段と、
    前記実行条件が成立したことに基づいて、始動信号を前記遊技制御手段に出力する始動信号出力手段と、
    前記マイクロプロセッサからの制御信号に基づいて前記可変表示装置における識別情報の可変表示を制御する可変表示制御手段とを備え、
    前記遊技制御手段は、
    前記電力供給手段による電力の供給開始後、前記乱数回路に前記乱数値を更新させるための設定を行う乱数回路設定手段と、
    前記乱数回路設定手段により前記乱数回路に前記設定が行われた後、定期的に発生するタイマ割込処理の実行を許可するタイマ割込処理実行許可手段と、
    前記タイマ割込処理の実行中、前記始動信号出力手段から始動信号が入力されたことに基づいて、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段と、
    前記タイマ割込処理の実行中、前記始動信号出力手段から始動信号が入力されたことに基づいて、ラッチ用始動信号を生成して前記乱数回路に出力するラッチ用始動信号出力手段とを含み、
    前記乱数回路は、
    前記クロック信号生成手段から出力される基準クロック信号を用いて乱数発生用クロック信号を生成し、該乱数発生用クロック信号を出力する乱数発生用クロック信号生成手段と、
    前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号を反転させて反転クロック信号を生成し、該反転クロック信号を出力する反転クロック信号生成手段と、
    前記乱数発生用クロック信号生成手段から出力される乱数発生用クロック信号が所定の態様で変化するタイミングにおいて、数値データを更新する数値更新手段と、
    前記反転クロック信号生成手段から出力される反転クロック信号が前記所定の態様で変化するタイミングにおいて、前記ラッチ用始動信号出力手段から入力されるラッチ用始動信号をラッチ信号として出力するラッチ信号出力手段と、
    前記ラッチ信号出力手段から入力されるラッチ信号に応答して、前記数値更新手段により更新された数値データを乱数値として記憶する乱数値記憶手段とを含み、
    前記表示結果決定手段は、前記乱数記憶手段から乱数値を読み出して、該読み出した乱数値が所定の判定値データと合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定
    前記遊技制御手段は、前記表示結果決定手段が前記乱数値記憶手段から乱数値を読み出す前に、該乱数値記憶手段に出力制御信号を出力して該乱数値記憶手段を読出可能状態に制御し、該表示結果決定手段が前記乱数値記憶手段から乱数値を読み出した後、該乱数値記憶手段への出力制御信号の出力を停止して該乱数値記憶手段を読出不能状態に制御する読出制御手段を含み、
    前記乱数値記憶手段は、前記ラッチ信号出力手段からラッチ信号が入力されているとき、前記読出制御手段から出力される出力制御信号に対して受信不能状態に制御する出力制御信号受信制御手段を含む、
    ことを特徴とする遊技機。
JP2004002860A 2004-01-08 2004-01-08 遊技機 Expired - Fee Related JP4671604B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004002860A JP4671604B2 (ja) 2004-01-08 2004-01-08 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004002860A JP4671604B2 (ja) 2004-01-08 2004-01-08 遊技機

Publications (2)

Publication Number Publication Date
JP2005192841A JP2005192841A (ja) 2005-07-21
JP4671604B2 true JP4671604B2 (ja) 2011-04-20

Family

ID=34817927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004002860A Expired - Fee Related JP4671604B2 (ja) 2004-01-08 2004-01-08 遊技機

Country Status (1)

Country Link
JP (1) JP4671604B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4777010B2 (ja) * 2005-08-08 2011-09-21 株式会社三共 遊技機
JP4777009B2 (ja) * 2005-08-08 2011-09-21 株式会社三共 遊技機
JP4786260B2 (ja) * 2005-09-02 2011-10-05 株式会社三共 遊技機
JP4786263B2 (ja) * 2005-09-07 2011-10-05 株式会社三共 遊技機
JP4879533B2 (ja) * 2005-09-07 2012-02-22 株式会社三共 遊技機
JP4879534B2 (ja) * 2005-09-07 2012-02-22 株式会社三共 遊技機
JP4937558B2 (ja) * 2005-09-09 2012-05-23 株式会社三共 遊技機
JP2007082727A (ja) * 2005-09-21 2007-04-05 Sankyo Kk 遊技機
JP4776316B2 (ja) * 2005-09-22 2011-09-21 株式会社三共 遊技機
JP4772443B2 (ja) * 2005-09-29 2011-09-14 株式会社三共 遊技機
JP4772442B2 (ja) * 2005-09-29 2011-09-14 株式会社三共 遊技機
JP4772444B2 (ja) * 2005-09-29 2011-09-14 株式会社三共 遊技機
JP4818677B2 (ja) * 2005-09-30 2011-11-16 株式会社三共 遊技機
JP4818676B2 (ja) * 2005-09-30 2011-11-16 株式会社三共 遊技機
JP4884745B2 (ja) * 2005-10-17 2012-02-29 株式会社三共 遊技機
JP4708196B2 (ja) * 2006-01-17 2011-06-22 株式会社三共 遊技機
JP4874656B2 (ja) * 2006-01-17 2012-02-15 株式会社三共 遊技機
JP4874655B2 (ja) * 2006-01-17 2012-02-15 株式会社三共 遊技機
JP5800065B2 (ja) * 2014-06-16 2015-10-28 株式会社ソフイア 遊技機

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000254304A (ja) * 1999-03-11 2000-09-19 Takao:Kk 遊技機の乱数更新方法
JP2000262719A (ja) * 1999-03-17 2000-09-26 Sophia Co Ltd 遊技機
JP2002272945A (ja) * 2001-03-15 2002-09-24 Le Tec:Kk 乱数発生装置
JP2002278751A (ja) * 2001-03-15 2002-09-27 Le Tec:Kk 乱数発生装置
JP2003190483A (ja) * 2001-10-19 2003-07-08 Samii Kk 弾球遊技機
JP2003263309A (ja) * 2002-03-08 2003-09-19 Le Tekku:Kk 乱数発生装置及び乱数発生方法
JP2003299862A (ja) * 2002-04-11 2003-10-21 Le Tekku:Kk 遊技機制御用チップ及び遊技機制御方法
JP2003340057A (ja) * 2002-05-29 2003-12-02 Sankyo Kk 遊技機
JP2004033639A (ja) * 2002-07-05 2004-02-05 Sankyo Kk 遊技機
JP2005160931A (ja) * 2003-12-05 2005-06-23 Le Tekku:Kk 遊技機制御用マイクロコンピュータ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11290535A (ja) * 1998-04-08 1999-10-26 Le Tec:Kk 遊技機用疑似乱数発生装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000254304A (ja) * 1999-03-11 2000-09-19 Takao:Kk 遊技機の乱数更新方法
JP2000262719A (ja) * 1999-03-17 2000-09-26 Sophia Co Ltd 遊技機
JP2002272945A (ja) * 2001-03-15 2002-09-24 Le Tec:Kk 乱数発生装置
JP2002278751A (ja) * 2001-03-15 2002-09-27 Le Tec:Kk 乱数発生装置
JP2003190483A (ja) * 2001-10-19 2003-07-08 Samii Kk 弾球遊技機
JP2003263309A (ja) * 2002-03-08 2003-09-19 Le Tekku:Kk 乱数発生装置及び乱数発生方法
JP2003299862A (ja) * 2002-04-11 2003-10-21 Le Tekku:Kk 遊技機制御用チップ及び遊技機制御方法
JP2003340057A (ja) * 2002-05-29 2003-12-02 Sankyo Kk 遊技機
JP2004033639A (ja) * 2002-07-05 2004-02-05 Sankyo Kk 遊技機
JP2005160931A (ja) * 2003-12-05 2005-06-23 Le Tekku:Kk 遊技機制御用マイクロコンピュータ

Also Published As

Publication number Publication date
JP2005192841A (ja) 2005-07-21

Similar Documents

Publication Publication Date Title
JP4671604B2 (ja) 遊技機
JP4570365B2 (ja) 遊技機
JP6129105B2 (ja) 遊技機
JP2005103166A (ja) 遊技機
JP6867860B2 (ja) 遊技機
JP4481619B2 (ja) 遊技機
JP4762625B2 (ja) 遊技機
JP4786265B2 (ja) 遊技機
JP4562441B2 (ja) 遊技機
JP2007044157A (ja) 遊技機
JP2005103167A (ja) 遊技機
JP4818676B2 (ja) 遊技機
JP4481614B2 (ja) 遊技機
JP4937557B2 (ja) 遊技機
JP2007151589A (ja) 遊技機
JP4562442B2 (ja) 遊技機
JP4656878B2 (ja) 遊技機
JP2007068783A (ja) 遊技機
JP4711666B2 (ja) 遊技機
JP6058112B2 (ja) 遊技機
JP4481617B2 (ja) 遊技機
JP4762626B2 (ja) 遊技機
JP4481616B2 (ja) 遊技機
JP4547200B2 (ja) 遊技機
JP4786260B2 (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110118

R150 Certificate of patent or registration of utility model

Ref document number: 4671604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees