JP2011156343A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2011156343A
JP2011156343A JP2010185528A JP2010185528A JP2011156343A JP 2011156343 A JP2011156343 A JP 2011156343A JP 2010185528 A JP2010185528 A JP 2010185528A JP 2010185528 A JP2010185528 A JP 2010185528A JP 2011156343 A JP2011156343 A JP 2011156343A
Authority
JP
Japan
Prior art keywords
random number
output
value
circuit
clock
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.)
Pending
Application number
JP2010185528A
Other languages
English (en)
Inventor
Keiichi Shimada
恵一 島田
Noriyuki Osato
規之 大里
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.)
Sammy Corp
Original Assignee
Sammy Corp
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 Sammy Corp filed Critical Sammy Corp
Priority to JP2010185528A priority Critical patent/JP2011156343A/ja
Publication of JP2011156343A publication Critical patent/JP2011156343A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

【課題】遊技における当否抽選、図柄抽選、及び演出パターンの抽選等に用いる乱数発生装置が正常に動作しているか否か正確に判別できる遊技機の乱数発生装置を提供する。
【解決手段】
本発明に係る遊技機の乱数発生装置は、クロック発生手段R50から出力されるクロック毎に乱数値を出力する乱数生成装置R60が正常に動作していることを監視するために、所定の周期内においてp個(pは1<p≦mである整数)の乱数取得トリガー信号を発生する乱数取得トリガー信号発生手段R70の2つの連続する乱数取得トリガー信号が発生するタイミング時期に乱数生成装置から出力される第1の乱数値と第2の乱数値を比較し、比較結果が乱数取得手段に出力され、乱数取得手段は連続する所定の周期をまたいで2回の比較結果を取得し、比較結果が不一致であれ正常動作と判定することを特徴とする。
【選択図】図4

Description

本発明は、遊技における当否抽選、図柄抽選、及び演出パターンの抽選等に用いられる乱数を発生させる乱数発生装置を備えた遊技機に関する。
このような、乱数発生装置を備えた遊技機では、例えば、発振子で構成される乱数クロック発生回路により所定の周期で発生した乱数クロックに基づいて、クロックカウント回路により所定の桁数の乱数値をカウントさせ、遊技の制御を行うCPUがカウントされた乱数値を抽出して読み込むことにより、当否乱数、図柄抽選用の乱数、及び演出パターン抽選用の乱数として使用する遊技機が周知となっている。このような遊技機においては、ハードウェアで乱数値をカウントすることにより、CPUにより制御されるソフトウェアの負担を軽減させ、乱数クロック発生回路によるクロックの発生周期に応じて、高速に乱数を発生・更新させることが可能な乱数発生装置が用いられている。
ところで、上記のように、ハードウェアにより乱数を発生させる場合に、乱数発生装置に何らかの動作異常が生じた場合、クロックカウント回路により乱数値が周期的にカウントされずにカウント停止の状態になることがあった。この状態になると、CPUが同一の乱数値を連続して読み込む事態が生じることがある。そこで、乱数発生装置が正常に動作しているか否かを監視することができる乱数監視装置を用いることで、乱数発生装置の動作異常を検出することが可能な遊技機が開示されている(例えば、特許文献1を参照)。
特開2005−192919号公報
上記のような乱数監視装置は、乱数発生装置がカウンタのような単純な構造であれば問題ないが、複雑な構造の乱数発生装置を用いる場合は、監視プログラムの構築が困難になるという問題がある。そこで、このような場合は、ソフトウェア等を利用して同一の乱数値を連続的に取得したか否かを判断し、連続的に取得した場合を異常とする方法が採られる。しかしながら、この種の方法では、取得させる乱数値の数を増やすことにより監視の精度自体を上げることはできるものの、プログラムの容量の増大が懸念される。また、この種の方法では、偶然同一の乱数値を取得した場合を排除することはできない。すなわち同一の乱数値を取得した場合、乱数発生装置の異常により同一の乱数値を取得したのか、それとも偶然同一の乱数値を取得したのかを正確に判別することができない、という課題があった。
本発明は、上記のような課題に鑑みてなされたものであり、乱数監視中に同一の乱数値を取得した場合において、それが乱数発生装置の異常によるものか否かを正確に判別することができる遊技機を提供することを目的とする。
上記目的を達成するために、本発明に係る遊技機は、所定の周波数でクロックを発生させるクロック発生手段と、クロック発生手段から出力されるm個(mは1以上の整数)のクロックで形成される所定の周期と、クロック発生手段からのクロックの入力を受けてクロック毎に所定の周期内においてランダムな乱数値を出力する乱数生成装置と、遊技者の遊技機への動作が所定の条件を満たしたことを契機に乱数ラッチ信号を出力する乱数ラッチ手段と、乱数ラッチ信号により乱数生成装置から乱数値を取得する乱数取得手段と、所定の周期内においてp個(pは1<p≦mである正の整数)の乱数取得トリガー信号を発生する乱数取得トリガー信号発生手段と、乱数取得トリガー信号を契機に乱数生成装置が出力する乱数値を監視する乱数異常監視手段と、を備え、前記乱数取得手段が取得した乱数値に基づいて演出制御あるいは当否制御をする遊技機において、乱数異常監視手段は前記第1の乱数取得トリガー信号を契機に乱数生成装置が出力した第1の乱数値を一時記憶し、乱数異常監視手段は、第1の乱数取得トリガー信号に連続して発生した第2の乱数取得トリガー信号を契機に乱数生成装置が出力した第2の乱数値を一時記憶し、第1の乱数値と第2の乱数値とを比較する比較手段を有し、比較手段によりt回(tは2以上の正の整数値)の比較がなされ、1回目の比較での第1の乱数値が発生する所定の周期と、t回目の比較での第2の乱数値が発生する所定の周期とは異なる所定の周期であり、前記t回の比較の結果が不一致であれば前記乱数生成装置を正常動作と判定することを特徴とする遊技機。
乱数取得トリガー信号発生手段はクロック発生回路から出力されるクロックが入力される毎に1つずつカウント値が増加する乱数値監視用カウンタを含んで構成され、乱数値監視用カウンタ回路の出力信号と乱数カウンタから出力される乱数値が演算回路に入力され、前記演算回路の出力を乱数ラッチ信号により乱数取得手段が取得することが望ましい。
乱数取得トリガー信号発生手段は、クロック発生回路から出力されるクロックが入力される毎に数値が1つずつ増加する乱数値監視用カウンタを含んで構成され、乱数値監視用カウンタはs(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数)の2進数表現に相当するカウンタ値になったことを検出する手段を有し、検出手段による検出の結果を受けて、乱数値監視用カウンタをリセットするとともに、所定の周期においてp個の乱数取得トリガー信号を出力することが好ましい。
さらに、乱数取得トリガー信号発生手段は、クロック発生回路から出力されるクロックが入力される毎に数値が1つずつ増加する乱数値監視用カウンタと、比較回路1とで構成され、比較回路1は第1から第(p+1)の比較入力端子と、トリガー信号入力端子とを備え、乱数値監視用カウンタの出力が第1の比較入力端子に入力され、1×s(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数)からp×sまでのp個の2進数が第2〜第(p+1)の比較入力端子に入力されることで、所定の周期においてp個の乱数取得トリガー信号を出力することが好ましい。
さらに、乱数異常監視手段は、バッファAと、バッファBと、乱数取得トリガー信号が入力されると動作する選択回路と、乱数取得トリガー信号とクロック発生回路のクロックとの論理積がトリガー信号として入力されると動作する比較回路2と、を備え、乱数取得トリガー信号が入力される毎に選択回路は乱数生成装置から出力される乱数値をバッファAとバッファBとを交互に選択して出力し、乱数取得トリガー信号が入力される毎に比較回路2はバッファAとバッファBに入力された情報を比較することで、第1の乱数取得トリガー信号による第1の乱数値と、第2の乱数取得トリガー信号による第2の乱数値とを比較することが好ましい。
また、クロック発生手段から出力されるクロック信号は、乱数生成装置に入力されるクロックに対して、乱数取得トリガー信号発生手段に入力されるクロックはクロック発生周期よりも小さい時間遅れて入力されることが好ましい。
以上、本発明に係る遊技機によれば、所定の周期内において、クロック発生回路から出力されるクロック毎に乱数値を出力する乱数生成装置があり、遊技者の遊技機への動作を契機に送られてくる乱数ラッチ信号により、乱数生成装置の乱数値を乱数取得手段に取り込み、遊技機の演出制御あるいは当否制御に用いられる。このように、遊技機において乱数は遊技者の興味を高める上で重要な要素を占める結果となるが、乱数生成装置が故障し、場合によっては大当たり状態に相当する乱数値に固定した状態で故障する可能性がある。また、悪意のある遊技者が大当たり状態に相当する乱数値を固定で出すような悪意のある操作をしたり、発生する乱数値を予測したりして、遊技店が不当な不利益を被る可能性もある。このため、遊技機に用いる乱数生成装置は悪意のある遊技者に乱数を読まれないよう、より複雑な形で乱数を発生させる方向で進化している。本発明は、所定の周期内においてp個発生する乱数取得トリガー信号において、連続する所定の周期をまたいで例えば3個の乱数取得トリガー信号が出力されるタイミングの時間の乱数生成装置が出力する乱数値3個を2個ずつ比較し、2回の比較結果が不一致であれば乱数生成装置を正常と判断することにより、より複雑な形で乱数を発生させる乱数生成装置においても、確実に乱数生成装置の異常が検出でき、かつ遊技機の演出制御、あるいは当否制御をするCPUに異常判定のための負荷をかけることのない異常監視手段を提供している。本発明による異常監視手段は、今後ますます複雑な形になることが想定される乱数生成装置にも適用できる。
また、乱数取得トリガー信号発生手段を構成する乱数値監視用カウンタの出力信号と、乱数生成装置から出力される乱数値を演算回路に入力することで、乱数生成装置が大当たり状態の乱数値に固定した状態で異常になった場合において、CPUが取得する乱数値はクロック発生周期毎に乱数発生装置の乱数値と乱数値監視用カウンタのカウンタ値が演算された値となることから、大当たり状態のままで遊技機が故障となるような、遊技店にとって不当に不利な状態を回避できる。あるいは、乱数発生装置がはずれ状態の乱数値に固定した状態で異常になった場合においても、CPUが取得する乱数値はクロック発生毎に乱数発生装置の乱数値と乱数値監視用カウンタのカウンタ値が演算された値となることから、はずれ状態のままで遊技機が故障となるような、遊技者にとって不当に不利益な状態も回避できる。
さらに、乱数取得手段に入力される乱数値は乱数値監視用カウンタの出力信号と乱数生成装置から発生する乱数値が演算された信号とすることで、乱数生成装置の乱数値がたまたま遊技機の当否判定の当たり状態の乱数値を固定して出力する故障を生じた場合においても、乱数値監視用カウンタから1つずつカウントアップした出力信号が乱数生成装置が出力する乱数値と演算されて乱数取得手段に入力されるため、当たり状態のまま遊技機が固定するという遊技店に不利となるような動作を排除できる。
また、乱数取得トリガー信号発生手段からp個のタイミング信号を乱数取得トリガー信号として発生するが、その実施例は色々な回路構成が可能であり、より簡易なハードウェア構成でタイミング回路を作成することが可能となる。
さらに、乱数取得トリガー信号発生手段は、所定の周期において、p個のタイミング信号を乱数取得トリガー信号として出力するが、乱数取得トリガー信号発生手段の構成方法は乱数値監視用カウンタの他に比較回路を用いて構成する方法がある。比較回路の入力端子に乱数取得トリガー信号を出力したいタイミング時間に相当する入力を設定する構成であり、色々なタイミング時間に乱数取得トリガー信号を出力するよう構成できる。これにより、乱数発生装置の異常を色々なタイミング時間に監視することが可能となる。悪意のある遊技者により大当たりに相当する乱数値を乱数取得手段に読み込ませるような悪意のある操作に対して、乱数発生装置を色々なタイミング時間に監視することで防ぐという効果も生じる。
また、乱数取得トリガー信号発生手段から出力される乱数取得トリガー信号が選択回路を動作せしめ、トリガー信号が入力される毎に、選択回路は乱数生成装置から発生した乱数をバッファAとバッファBに交互に入力するよう動作する選択回路を備えることで、乱数発生装置の乱数値を複数のタイミングで比較するための回路は、簡易な回路で構成できる。
同様に、クロック発生手段から出力されるクロック信号は、乱数生成装置に入力されるクロックに対して、乱数取得トリガー信号発生手段に入力されるクロックはクロック発生周期fよりも小さい時間遅れて入力することで、乱数発生装置の監視が確実に動作できることから、信頼性の高い監視が可能となる。
本発明に係る遊技機の一例として示す第1実施形態のスロットマシンの正面図である。 上記スロットマシンの内部構造を表した図である。 上記スロットマシンの制御システムの構成を表したブロック図である。 上記スロットマシンの乱数の発生に係る処理を示したブロック図である。 遊技機における、乱数発生のためのカウント回路及び記憶回路を示す回路図である。 上記スロットマシンにおける、役抽選、乱数発生装置、及び異常判定手段の制御の概略を示したブロック図である。 乱数テーブル決定部による乱数テーブルの決定のために用いられる対応表を示したものであり、(a)は乱数テーブルが格納されている対応表の例、(b)は乱数テーブルの選択の順序が規定されているテーブル順序表の例である。 遊技機における異常判定処理の流れを示すフローチャートである。 遊技機における異常判定用乱数の取得周期、出力乱数値の更新周期、及びクロック周期の関係を示す図である。(a)及び(b)は異常判定用乱数の取得周期と出力乱数値の更新周期との関係、(c)は異常判定用乱数の取得周期とクロック周期との関係を示す図である。 上記スロットマシンにおける抽選用乱数取得処理の流れを示すフローチャートである。(a)は抽選用乱数取得処理そのものの流れ、(b)は異常判定用乱数の1回目の取得を抽選用乱数取得処理に併せ込んだ処理の流れ、をそれぞれ示すフローチャートである。 本発明に係る遊技機の一例として示す第2実施形態のパチンコ機の正面図である。 上記パチンコ機の内部構造を示す背面図である。 上記パチンコ機における、当否及び確率変動をするか否かの決定、乱数発生装置、及び異常判定手段の制御の概略を示したブロック図である。 上記パチンコ機の乱数の発生に係る処理を示したブロック図である。 上記パチンコ機における遊技用乱数取得処理の流れを示すフローチャートである。 上記パチンコ機において、(a)は、打球が連続して始動入賞センサに流れる様子を示す図、(b)は、始動入賞センサが打球の入賞を検出する時間と、1個目の打球が通過してから2個目の打球が通過するまでの時間との関係を示す図、(c)は、始動入賞センサが打球の入賞を検出する時間と遊技用乱数の取得時間との関係を示す図である。 本発明の乱数発生装置の乱数監視のための回路構成を示す図である。 上記スロットマシンにおける、役抽選、乱数発生装置、及び異常判定結果の制御の概略を示したブロック図である。 遊技機の乱数発生装置の乱数ラッチ方法を示すための回路図である。 遊技機の乱数発生装置の乱数生成装置1を実現するための回路構成を示す回路図である。 遊技機の乱数発生装置の乱数生成装置4を実現するための回路構成を示す回路図である。 本発明の乱数発生装置の乱数取得トリガー信号発生手段1のための回路構成を示す図である。 本発明の乱数発生装置の乱数取得トリガー信号発生手段2のための回路構成を示す図である。 本発明の乱数発生装置の乱数取得トリガー信号発生手段3のための回路構成を示す図である。 本発明の乱数発生装置の異常監視手段のための回路構成を示す図である。 本発明の乱数発生装置の乱数値取得の信頼度を高めるための回路図である。 本発明の乱数発生装置の乱数異常監視の処理を示すフローチャートである。 本発明の乱数発生装置の乱数監視のための回路構成を示す図である。
以下、本発明を適用させた遊技機として、第1実施形態としてスロットマシン1(図1参照)について、第2実施形態としてパチンコ機PM(図11参照)についてそれぞれ説明する。まずは、第1実施形態のスロットマシン1の概略構成について図1〜図3を参照しながら説明する。図1は、本実施形態におけるスロットマシン1の外部構造を表した平面図、図2は、スロットマシン1の内部構造を表した平面図、図3は、スロットマシン1における制御システムの構成を表したブロック図である。スロットマシン1は、図1及び図2に示すように、遊技者に面するフロントドア2と、フロントドア2を開閉可能に取り付ける筐体3(図2参照)とを備えて構成される。フロントドア2は、上部パネル部4と、中央パネル部5と、下部パネル部6とを備え、全体的に金属製のフレーム(不図示)と硬化プラスチックにより成形された前面パネルとで形成され、これにより、構造が強化されている。
上部パネル部4には、上部ランプと称される演出用ランプ4aと、スピーカが取り付けられた放音部4b,4cと、カラー画像を表示する液晶ディスプレイ等で形成され遊技者が目視可能な演出表示装置4dとが設けられている。演出表示装置4dは、遊技中の演出を行うときに、各種の画像表示を行うものである。中央パネル部5には、演出用ランプ5a,5b、及びモータ駆動により回転可能に設けられ複数個(本実施形態では3個)配設される回胴リールR1,R2,R3を備えた回胴リール装置7が設けられるとともに、回胴リールR1,R2,R3の前方には、透明な硬化プラスチック板で形成された略長方形の透明窓WDが設けられ、この透明窓WDにより、回胴リール装置7を外部から保護するとともに、遊技者が透明窓WDを介して回胴リールR1,R2,R3を視認することが可能となっている。
回胴リールR1,R2,R3は、それぞれリング状に構成され、その外周面には複数の入賞図柄(入賞役を構成する図柄)を印刷したテープリールが貼られている。回胴リールR1,R2,R3には、例えば21個の複数種類の図柄が等間隔で配置されており、各リールR1,R2,R3毎に異なった図柄配列がなされている。また、中央パネル部5上であって回胴リール装置7の下方には、遊技者の獲得したメダル数を表示させたり、遊技動作や機械動作に異常が生じたときはエラーコードを表示させたりする獲得枚数表示部(エラー表示部)5cが設けられている。エラーコードが表示されたときは、遊技機は遊技不可の状態となる。
更に、中央パネル部5の下端には、遊技者が操作するための操作部5dが設けられ、当該操作部5dには、遊技用メダルを投入するためのメダル投入部MDと、1ゲーム当たりのメダル数を提示するためのベットボタンB1,B2,B3と、1ゲームの開始を指示するためのスタートレバーSTと、回胴中の回胴リールR1,R2,R3を個別に停止させるための3個のストップボタンSP1,SP2,SP3が設けられている。下部パネル部6には、スロットマシン1のゲーム内容に関連した画像等(不図示)が描かれており、遊技者の獲得したメダルを払い出すための排出口6a及び受皿6bと、スピーカが取り付けられた放音部6cが設けられている。なお、遊技中には、種々の演出、例えば演出用ランプ4a,5a,5bの点灯・点滅や、演出用スピーカSR,SL,SWからの放音、演出表示装置4dによる画像表示等が行われる。更に、演出の中には、役の当選可能性の告知演出が含まれる。
次に、図2を参照して、フロントドア2の裏面構造と、筐体3の内部構造を概略的に説明する。なお、図2は、フロントドア2を解錠して筐体3から開いた状態を示している。図2において、フロントドア2の裏面上部に、上述の放音部4b,4cを構成する演出用スピーカSR,SLが設けられ、演出用スピーカSR,SLの間に演出表示装置4dが設けられるとともに、演出表示装置4dの裏面側にサブ制御基板20が取り付けられている。演出表示装置4d及びサブ制御基板20の下方には、上述の透明窓WDと、中央パネル部5のパネル面とが形成された略長方形の枠体5eが取り付けられている。
また、枠体5eの下方には、メダル投入部MDより投入される投入物を正規の遊技用メダルか異物かを判別して振り分ける振分機構G1と、振分機構G1で振り分けられた遊技用メダルを筐体3側に設けられているホッパ装置HPへ案内するガイド部材G2と、振分機構G1で振り分けられた異物を排出口6aへ案内して排出するガイド部材G3と、ホッパ装置HPから出力される払い出し用のメダルを排出口6aへ案内して出力するガイド部材G4とが設けられ、排出口6aの近傍に、演出用スピーカSWが放音部6cに対応して取り付けられている。更に、枠体5eと振分機構G1との間の領域に長尺状の中央表示基板30が取り付けられ、当該中央表示基板30の裏面側の一端に、設定ボタンCSと、数字の0から6までのセグメント表示を行う発光ダイオードで構成された設定表示素子CTが設けられている。
筐体3内には、電源装置PWUと、ホッパ装置HPから溢れた遊技用メダルを収容するための補助貯留部SHPと、上述の透明窓WDに対向する回胴リールR1,R2,R3を備えた回胴リール装置7が設けられるほか、電源装置PWUの側面に電源装置基板40、回胴リール装置7の上端に回胴装置基板50、回胴リール装置7の上方に主基板10、筐体3の内壁の一端に外部集中端子装置としての外部集中端子基板70が各々取り付けられている。
ここで、上述した主基板10と、サブ制御基板20、回胴装置基板50、中央表示基板30、電源装置基板40及び外部集中端子基板70は、何れも導電性配線パターンで形成された絶縁性樹脂基板上に集積回路装置(IC)やトランジスタ、抵抗、コンデンサ等の電子部品が搭載されて配線接続されたいわゆる電気回路基板として形成され、特に、主基板10とサブ制御基板20と外部集中端子基板70は、各々硬化プラスチックの収納ケース内に個別に収納されたユニット構造となっている。
以下で、図3のブロック図を参照して制御システムの構成についてその概略を説明する。主基板10は、スロットマシン1の動作全体を管理するシステムプログラム及びスロットマシンゲーム用の実行プログラムが予め記憶されている半導体メモリ等で構成された記憶部及びこれらのプログラムを実行するCPU14(後に詳述)からなるメインコントロール部11と、後述する役抽選等に用いられる乱数値を発生させる乱数発生装置12とを有し、CPUに設けられている入力ポート及び出力ポートと残余の基板20,50,30,40,70との間は、配線ケーブルにより接続されている。なお、本発明において、乱数とは、数学的な意味においてランダムに生成される値のみだけではなく、生成は規則的であっても、その取得のタイミングがランダムであるために実質的に乱数として機能しうる値をも意味する。
また、演出用スピーカSR,SL,SWと演出用ランプ4a,5a,5bと演出表示装置4dが配線ケーブルを介してサブ制御基板20に配線接続され、主基板10中のCPU14から供給される演出制御信号に従って、サブ制御基板20に設けられている電気回路がこれら演出用スピーカSR,SL,SWと演出用ランプ4a,5a,5bと演出表示装置4dとを駆動させることにより、遊技者の視覚と聴覚に訴える演出を行う。
回胴装置基板50は、電動モータにより回転駆動される回胴リールR1,R2,R3を備えた回胴リール装置7が配線接続されており、主基板10中のCPU14から供給されるリール制御信号に従って、上述の電動モータを制御することにより、回胴リールR1,R2,R3の回転と制動及び停止の制御を行う。中央表示基板30には、振分機構G1、ベットボタンB1,B2,B3、スタートレバーST、ストップボタンSP1,SP2,SP3、設定表示素子CT、及び設定ボタンCSが配線接続されており、振分機構G1から出力されるメダル検出信号と、ベットボタンB1,B2,B3とスタートレバーST及びストップボタンSP1,SP2,SP3からそれぞれ出力されるオン・オフ信号を主基板10中のCPU14に転送するとともに、CPU14から供給されるセグメント表示信号に基づいて、設定表示素子CTに0から6までの数字を表示させる。
電源装置基板40には、設定スイッチBO、電源スイッチBQ、ホッパ装置HP、電源装置PWUが配線接続され、設定スイッチBOと電源スイッチBQからそれぞれ出力されるオン・オフ信号を主基板10中のCPU14に転送する。更に、電源装置基板40には、電源装置PWUにより発生される各種電源電圧をホッパ装置HPその他各所に配電する配電回路が形成されており、かかる配電回路からスロットマシン1の動作に必要な電源供給が行われている。
メインコントロール部11には、図4に示すように、CPU14、ROM15、RAM16が設けられており、CPU14が実行すべき制御プログラム及び制御の過程で必要なデータはROM15に保存されている。また、メインコントロール部11には、基準クロック発生回路B21及び入出力回路部B40が設けられている。基準クロック発生回路B21は、スロットマシン1の中枢を担うCPU14の動作基準をなす基準クロックを発生させる回路であって、水晶発振器や水晶振動子等を用いて所定間隔のパルス(クロック信号)を発生させるものである。また、このパルスを分周部(不図示)において適宜分周したものを基準クロックとすることもある。また、入出力回路部B40は、主基板10の外部からの入力情報及び乱数発生装置12が発生させた乱数を入力させるために設けられ、バッファ用のIC等により構成される。具体的には、入出力回路部B40は、各種信号が入力されるセンサ入力部、及び乱数発生装置12が発生させた所定のビット数(例えば、4ビット、8ビット、16ビット等)の乱数値が入力される乱数読込部等が設けられて構成されている。
スタートレバーSTには回動回転始動装置センサB11が設けられ、回動回転始動装置センサB11は、スタートレバーSTの操作に伴いオン信号を出力するように構成される。主基板10は、スタートレバーSTの操作により回動回転始動装置センサB11から出力されたオン信号を検出すると、図示しないモータを駆動させて各回胴リールR1,R2,R3を回転させるとともに、後述する役抽選手段B34が、乱数発生装置12から1つの乱数値(以下、抽選用乱数と称する)を取得する。これにより、役の抽選などが行われる(後に詳述)。
メインコントロール部11において実行される(CPU14が実行する)制御プログラムとしては、役抽選手段B34及び本発明に係る異常判定手段B100がある(図6参照)。乱数発生装置12は、後述する実施例1〜3に示す構成を有しており、乱数(例えば、0〜65535の65536個の乱数値)を発生させることが可能となっている。本発明に係る異常判定手段B100の構成については後述するが、乱数発生装置12が、実施例1〜3のいずれの構成であっても、本発明に係る異常判定手段B100を適用することができるようになっている。まずは、メインコントロール部11と乱数発生装置12の構成について以下で説明する。
メインコントロール部11における役抽選手段B34は、特別役、小役、リプレイ等の役の抽選を行うプログラムである。ここで、特別役とは、通常ゲームとは異なるゲームであって遊技者に有利な特別遊技に移行させるための役である。また、小役とは、所定枚数のメダルを遊技者に払い出す役であり、複数種類設けられている。そして、リプレイとは、前ゲームで投入したメダル枚数を維持した再ゲームを行う権利を遊技者に与える役である。
役抽選手段B34は、抽選用乱数取得部B34aと、抽選役判定部B34bとを備えて構成されており(図6参照)、抽選用乱数取得部B34aは、乱数発生装置12が発生させた乱数を抽選用乱数として取得し、抽選役判定部B34bは、該抽選用乱数の値に基づいて、役を決定する。また、ROM15には、アドレス値を有する役抽選テーブルが設けられ、役抽選テーブルは、当該アドレス値に対応した特別役当選領域、小役当選領域、リプレイ当選領域、及び非当選(外れ)領域等、予め所定の割合に設定された領域を備えている。抽選役判定部B34bは、抽選用乱数取得部B34aが取得した抽選用乱数の乱数値と、役抽選テーブルのアドレス値とを照合させることにより、その乱数値が属する領域を参照し、その乱数値が属する領域に対応する役を決定する。例えば、抽出した乱数値が特別役当選領域に属する場合は、特別役の当選と判定し、非当選領域に属する場合は、外れと判定する。このように、役抽選テーブルのアドレス値に対応して少なくとも1つの役、または1つの判定結果が特定されることになっている。
このように、上述した役抽選テーブルにはアドレス値が付与されており、アドレス値は、抽選用乱数取得部B34aが取得した、乱数発生装置12が発生させた乱数値に対応するものである。以下で、メインコントロール部11及び乱数発生装置12における乱数値を発生させるための回路について説明する。乱数発生装置12は、図4に示すように、乱数クロック発生回路B51、クロック反転回路B61、並びに第1及び第2ラッチ信号出力回路B71,B72を備えて構成される。この乱数発生装置12により発生する乱数は、CPU14により取得された後、RAM16(またはCPUレジスタ)に一時的に記憶される。
乱数クロック発生回路B51は、乱数発生用のクロックを発生させるために設けられ、クロック反転回路B61は、NOTゲート等のICから構成され上記乱数クロック発生回路B51から出力されるクロックを反転させ、これを反転クロックとして、抽選用乱数の取得に関する第1ラッチ信号出力回路B71、及び異常判定用乱数の取得に関する第2ラッチ信号出力回路B72に出力する。なお、異常判定用乱数とは異常判定手段B100が行う、乱数発生装置12に異常があるか否かを判定するために用いられる乱数のことをいう(後に詳述)。
また、異常判定手段B100では、抽選用乱数を発生させる際に用いる乱数クロック発生回路B51のクロックではなく、基準クロックをもとに動作するCPU14によって異常判定用乱数の取得タイミング及び異常判定のタイミングを定めるようにしているが、この乱数クロック発生回路B51が発生するクロックと上記基準クロックとは、周期が異なり且つ非同期の関係になっている。同じ周期または互いに同期するクロックを用いることも理論的には可能であるが、上記のように、周期が異なり且つ非同期であることが好ましい。これらのクロックを周期非同一且つ非同期としておけば、抽選に用いられる乱数クロック発生回路B51のクロックの周期を外部から察知されにくくなるという利点が得られるからである。また、同じ周期または互いに同期するクロックや単一のクロックを用いた場合でも、CPU14もしくは乱数生成回路B86に入力させる一方のクロックを分周させることにより、上記同様の利点は得られる。
第1ラッチ信号出力回路B71及び第2ラッチ信号出力回路B72には、上述したクロック反転回路B61からの反転クロックが入力される。また、CPU14から入出力回路部B40を介して出力されたトリガ信号(ハイ信号)が入力される。そして、第1ラッチ信号出力回路B71及び第2ラッチ信号出力回路B72は、トリガ信号が入力されたときは、この信号の立ち上がりエッジを、クロック反転回路B61から入力される反転クロックの立ち上がりエッジと同期するように遅延させて、第1ラッチ信号出力回路B71は第1ラッチ信号を、第2ラッチ信号出力回路B72は第2ラッチ信号を、それぞれ後述する乱数生成回路B86へ出力する。
なお、上記では、クロック反転回路B61、第1ラッチ信号出力回路B71、及び第2ラッチ信号出力回路B72とが別体として設けられる例について説明した。しかし、上記の構成に限定されることなく、図4の破線に示すように、クロック反転回路B61及び第1ラッチ信号出力回路B71を第1ラッチクロック同期回路B66、クロック反転回路B61及び第2ラッチ信号出力回路B72を第2ラッチクロック同期回路B67として、それぞれ一体として設けてもよい。
乱数生成回路B86は、第1ラッチ信号出力回路B71から出力される第1ラッチ信号、または第2ラッチ信号出力回路B72から出力される第2ラッチ信号に基づいてCPU14に生成した乱数値を出力する。乱数生成回路B86により乱数値を発生させる方法について3種の実施例(実施例1、実施例2、及び実施例3)を挙げて説明する。実施例1は、従来から周知になっているクロックカウント回路B81〜B84及びカウント値記憶回路B91(後に詳述)を用いた場合の例を示す。なお、実施例1では16ビットの乱数値を出力する例を示すが、4ビット、8ビット等の乱数値を出力させるようにしてもよく、特にビット数による制限はない。実施例1の乱数生成回路B86は、所定の時間Fをかけて一通りの乱数値(例えば0〜65535)を出力するように構成されている。
実施例1の乱数生成回路B86は、図4及び図5に示すように、第1〜第4クロックカウント回路B81,B82,B83,B84、及びカウント値記憶回路B91を備えて構成される。第1〜第4クロックカウント回路B81,B82,B83,B84は、図5に示すように、クロックを入力する乱数クロック入力部(CK)と、計数したカウント値が出力されるカウント出力部(QA〜QD)をそれぞれ有している。この第1〜第4クロックカウント回路B81,B82,B83,B84は、4ビットのインクリメントカウンタを4個(IC1からIC4まで)カスケード接続した回路で構成され、乱数クロック発生回路B51から発生したクロックの立ち上がりエッジにより加算を行い、その加算結果を出力するための回路である。第1〜第4クロックカウント回路B81,B82,B83,B84としては、種々のカウンタを用いることができるが、以下では、「0000」から「1111」まで1ずつの加算を行うインクリメントカウンタを用いた例について説明する。
乱数クロック発生回路B51からのクロックの入力により、まず、第1クロックカウント回路B81(IC1)において、4桁分の値(例えば、「0001」や「0011」)がカウントされる。そして、4桁分の値のカウントが終了すると、その都度、桁上がり信号がIC1のCO端子から第2クロックカウント回路B82(IC2)のENT端子へ出力される。第2クロックカウント回路B82がカウントを開始するには、第1クロックカウント回路B81からの当該桁上がり信号の入力が必要である。すなわち、IC2においては、この桁上がり信号とCK端子に入力されるクロックとが同時に入力された後次の4桁分のカウントが開始される。
同様に、IC2において、4桁分の値がカウントされると、その都度、桁上がり信号がIC2のCO端子から第3クロックカウント回路B83(IC3)のENT端子へ出力される。第3クロックカウント回路B83がカウントを開始するには、第2クロックカウント回路B82からの当該桁上がり信号の入力が必要である。すなわち、IC3においては、この桁上がり信号とCK端子に入力されるクロックとが同時に入力された後次の4桁分の値のカウントが開始される。第3クロックカウント回路B83(IC3)及び第4クロックカウント回路B84(IC4)も同様にしてそれぞれ4桁分の値のカウントを実行する。
以上のようにして、実施例1ではクロックカウント回路B81〜B84により、例えば16ビット(他のビット数でもよい)の2進数が生成される。すなわち、上述した16ビットの例の場合は、16桁の2進数のうち、第1クロックカウント回路B81(IC1)が最下位の4桁、第2クロックカウント回路B82(IC2)がその上の4桁、第3クロックカウント回路B83(IC3)がさらにその上の4桁及び第4クロックカウント回路B84(IC4)が最上位の4桁をそれぞれ担当している。
上記4つのクロックカウント回路B81〜B84により加算されているカウントは、各々のカウント出力部(QA、QB、QC及びQD端子)を経てカウント値記憶回路B91へ出力されて記憶される。なお、上記では16ビットの乱数(4ビット×4)を生成する例を示しているが、乱数の生成の方法はこれに限られず、8ビット×2で生成、また、16ビットを一括して生成してもよいし、また、ビット数自体も16ビットに限らず適宜変更することができる。
カウント値記憶回路B91は、クロックカウント回路B81〜B84によりカウントされたカウント値を、第1ラッチ信号出力回路B71からの第1ラッチ信号、または第2ラッチ信号出力回路B72からの第2ラッチ信号に基づいて記憶するものである。カウント値記憶回路B91は、図5に示すように、8ビットのIC2個からなるレジスタ部(IC5及びIC6)と、8ビットのIC2個からなるバッファ部(IC7及びIC8)とから構成される。カウント値記憶回路B91のレジスタ部のうち、IC5には、第1クロックカウント回路B81(IC1)からの4桁のカウント値がD0端子からD3端子までを介して入力され、また、第2クロックカウント回路B82(IC2)からの4桁のカウント値がD4端子からD7端子までを介して入力される。すなわち、IC5のD1端子〜D8端子まではカウント入力部として機能し、IC5には、これらを通じて16ビットの2進数のカウント値のうち下8桁が入力される。
カウント値記憶回路B91のレジスタ部のうち、IC6には、第3クロックカウント回路B83(IC3)からの4桁のカウント値がD8端子からD11端子までを介して入力され、また、第4クロックカウント回路B84(IC4)からの4桁のカウント値がD12端子からD15端子までを介して入力される。すなわち、IC6のD1端子〜D8端子まではカウント入力部として機能し、IC6には、これらを通じて16ビットの2進数のカウント値のうち上8桁が入力される。
カウント値記憶回路B91のレジスタ部(IC5及びIC6)におけるCLOCK端子には、第1ラッチ信号出力回路B71からの第1ラッチ信号または第2ラッチ信号出力回路B72からの第2ラッチ信号が入力される。すなわち、これらのCLOCK端子は、ラッチ信号入力部として機能しており、このラッチ信号入力部から入力されるラッチ信号がハイ信号となった立ち上がりエッジの時点でクロックカウント回路B81〜B84から入力されているカウント値が、レジスタ部に記憶される。
カウント値記憶回路B91のバッファ部(IC7及びIC8)におけるG1端子には、乱数取得のために実行されるプログラムに基いてメインコントロール部11の入出力回路部B40から出力される読込信号に応じて、カウント値記憶回路B91に記憶された16桁からなる1つのカウント値がCPU14のCPUデータバスへ出力される。すなわち、この読込信号入力部から入力される読込信号がロー信号となる立ち下がりエッジの時点で、レジスタ部(IC5およびIC6)に記憶されている乱数値が、Y1端子〜Y8端子をそれぞれ介してCPUデータバスへ出力されるようになっている。なお、カウント値記憶回路B91から出力される乱数値のうち、IC7を経由するものは、CPU14に入力されて、16桁の乱数値のうちの下位8桁分として取り扱われる。一方、カウント値記憶回路B91から出力される乱数値のうち、IC8を経由するものは、CPU14に入力されて、16桁の乱数値のうちの上位8桁分として取り扱われる。実施例1では、クロックカウント回路B81〜B84及びカウント値記憶回路B91が以上のように、例えば所定範囲内の値(例えば0〜65535の値)を一通り出力し、一通り出力した後は同様の動作をして、繰り返し所定範囲内の値(例えば0〜65535の値)を出力するようになっている。
以上、実施例1では、従来の周知となっている回路を備えた乱数発生装置12について説明したが、実施例2及び実施例3における乱数発生装置12は、図6に示すように、乱数クロック発生回路B51、乱数テーブル決定部B52、乱数テーブル群B53、乱数値決定部B54、及び乱数値出力部B55を備えて構成される。乱数クロック発生回路B51は、実施例1と同様、乱数値出力のためのクロックを発生させる。また、乱数テーブル群B53は複数の(図6では2つ示しているが実際は2つ以上の)乱数テーブルB53aを備えて構成され、乱数テーブル決定部B52は、乱数テーブル群B53のうち一つの乱数テーブルB53aを決定する。乱数値決定部B54は、乱数テーブル決定部B52により決定された乱数テーブルB53aに基づいて出力する乱数値を決定し、乱数値出力部B55は、乱数クロック発生回路B51が発生したクロックに基づいて乱数値決定部B54により決定された乱数値を出力する。
また、実施例2と実施例3とでは、上述した乱数テーブルB53aの更新の方法が異なっており、まずは図7を参照しながら実施例2について説明する。なお、実施例2及び実施例3では、説明を簡潔にするため、乱数値のビット数を2ビットとする例について示すが、実際は、例えば4ビット、8ビット、16ビット等、2ビットと異なるビット数の場合でも実施例2及び実施例3に示す方法で乱数値を発生させることは可能である。
実施例2では、乱数テーブルB53aを更新するため、乱数テーブル決定部B52がテーブル選択用乱数(例えば、ソフト乱数等)を取得し、乱数テーブル決定部B52は、上記取得したテーブル選択用乱数の値に基づいて対象の乱数テーブルB53aを更新する。また、実施例2では、図7(a)に示すような、例えば2ビットの乱数テーブルB53a(図7の「0123」「1023」など)を24個格納する対応表が設けられる。乱数テーブル決定部B52は、乱数テーブルB53aを更新するときに例えば「Ax」という乱数と「By」という乱数(xは1〜4の自然数、yは1〜6の自然数)を取得し、例えば、取得した乱数が「A1」及び「B1」であった場合、「0123」の乱数テーブルB53aに更新する。そして、1クロックの入力毎に「0」「1」「2」「3」の値が乱数値決定部B54により決定されこの順で乱数値出力部B55により出力される。
なお、上記の例において「0」の出力を開始し「3」の出力を終了するまでの時間はFとなっており、時間Fが経過した後には乱数テーブル決定部B52が再度テーブル選択用乱数を取得する。そして、取得したテーブル選択用乱数が「A3」及び「B5」であった場合は乱数テーブル決定部B52は「2301」の乱数テーブルB53aに更新し、乱数値出力部B55により「2」「3」「0」「1」の順で値が出力される。また、取得した乱数が「A4」及び「B1」であった場合は、乱数テーブル決定部B52が「3012」の乱数テーブルB53aに更新し、上記同様に「3」「0」「1」「2」の順で乱数値出力部B55により値が出力される。このように、乱数テーブル決定部B52が時間Fごとに、図7(a)に示す対応表に基づいて乱数テーブルB53aを更新し、該更新された乱数テーブルB53aに基づいて乱数値がクロックの入力により順次出力されるようになっている。
実施例3は、実施例2のように乱数テーブル決定部B52が乱数テーブルB53aを更新させる度にテーブル選択用乱数の取得を行うわけではなく、予め乱数テーブルB53aを更新する順序が規定されており、乱数テーブル決定部B52が一度テーブル選択用乱数を取得した後は、その規定された順序に基づいて、乱数テーブルB53aを更新し、更新した乱数テーブルB53aに並べられた乱数値の順序に基づいて乱数値を出力する。そして、該乱数テーブルB53aに基づく乱数値の出力が完了し時間Fが経過した後に、規定された順序に基づいて乱数テーブルB53aを順次更新するようになっている。
実施例3では、図7(a)に示すような対応表と、図7(b)に示すようなテーブル順序表が設けられる。乱数テーブル決定部B52は、テーブル選択用乱数(例えば図7(b)における1、2…Zの値)を取得し、例えば、取得したテーブル選択用乱数が「1」であった場合は、テーブル順序表の「A1B1」に基づいて、対応表の「0123」の乱数テーブルB53aに更新し、該乱数テーブルB53aに基づいて「0」「1」「2」「3」の順で値が乱数値出力部B55により出力される。そして、「0」「1」「2」「3」全ての値の出力が完了し時間Fが経過した後に、テーブル順序表の「A1B1」の隣のセルの「A2B1」に基づいて、対応表の「1023」の乱数テーブルB53aに更新し、該乱数テーブルB53aに基づき「1」「0」「2」「3」の順で値が出力され再度時間Fが経過した後に、「A3B1」に基づいて、対応表の「2013」の乱数テーブルB53aに更新し「2」「0」「1」「3」の順で乱数値出力部B55により値が出力される。また、最初に取得したテーブル選択用乱数が「Z」であった場合は、テーブル順序表の「A1B1」に基づいて、その後「A4B6」に基づいて、更にその後「A1B4」に基づいて、乱数テーブル決定部B52による乱数テーブルB53aの更新、及び該乱数テーブルB53aに基づく乱数値出力部B55による乱数値の出力が行われるようになっている。
乱数テーブル決定部B52が取得したテーブル選択用乱数が「1」であり、上記のように乱数値の出力及び乱数テーブルB53aの更新が繰り返され、最終的に図7(b)の「1」の行の右端に示す「A4B6」に基づいて対応表の「3210」の乱数テーブルB53aに更新し「3」「2」「1」「0」の順で値の出力が完了した後は、乱数テーブル決定部B52は再度テーブル選択用乱数(図7(b)における1、2…Zの値)を取得し、この取得したテーブル選択用乱数の値とテーブル順序表に基づいて、上記同様に乱数テーブルB53aの更新及び乱数値出力部B55による乱数値の出力が行われる。
また、テーブル順序表における最後の乱数テーブルB53a(例えば、取得した乱数が「1」のときは「A4B6」のテーブル)の更新及び乱数値出力部B55による乱数値の出力が完了した後について、上記のように再度テーブル選択用乱数(図7(b)における1、2…Z)の値を取得するのではなく、例えば乱数テーブル決定部B52が最初に取得したテーブル選択用乱数が「1」の場合において「A4B6」の乱数テーブルB53aの更新及び乱数値の出力が完了した後に、テーブル選択用乱数「2」の順序、すなわち、「A1B1」「A1B2」「A1B3」…の順序で乱数テーブルB53aの更新及び乱数値の出力を行うようにしてもよい。このように、乱数テーブル決定部B52がテーブル選択用乱数を取得する回数を減らし(または例えばテーブル選択用乱数を取得せずに)、予め決められた順序(例えば、図7(b)のテーブル順序表等)に基づいて乱数テーブルB53aの更新及び乱数値の出力を繰り返すようにしてもよい。
以上のように、実施例2では、乱数テーブル決定部B52が図7(a)に示すような対応表に基づいて乱数値の出力と乱数テーブルB53aの更新を繰り返す処理を行い、実施例3では、乱数テーブル決定部B52がテーブル選択用乱数を取得した後に所定の順序で乱数テーブルB53aを更新及び乱数値の出力を行うようになっている。実施例3は、実施例2と異なりテーブル順序表を設ける必要があるが、実施例2のようにテーブル更新毎にテーブル選択用乱数を取得する必要がなくなるため、プログラムによる負荷を小さくすることができるという利点がある。
なお、上述した乱数テーブルB53aに基づく乱数値の出力については、乱数テーブルB53aにおける値の格納領域毎にアドレス番号を付して、クロックの入力毎に該アドレス番号をずらすとともに、該アドレス番号に対応する格納領域の値を出力させるようにしてもよい。
以上、上記実施例2及び実施例3では、乱数テーブルB53aに規定された順序に基づいて乱数値を発生させる例を示したが、上記のような乱数テーブルB53a及び乱数テーブル決定部B52を用いないで、例えば、所定のクロックに基づいて所定の演算処理を行うことにより乱数値を発生させることも当然可能である。また、実施例2または実施例3により乱数値を発生させる場合にはクロックカウント回路B81〜B84は不要となる。また、乱数値を発生させるための構成については、上記実施例1〜3のいずれかに限定されることはない。例えば、実施例1と実施例2または実施例3とを組み合わせた構成にして、クロックカウント回路B81〜B84から出力されたカウント値に基づいて乱数テーブルB53aの値を生成するなどの方法によって乱数値を発生させるようにしてもよい。
ところで、乱数発生装置12において、例えばクロックカウント回路B81〜B84等に異常が発生したり、または、乱数テーブルB53aの更新処理に不具合が発生したりすることにより、一定の乱数値が出力され続けるという問題が発生することがある。第1実施形態のスロットマシン1では、この異常を検出する異常判定手段B100が設けられている。この異常判定手段B100について、以下で説明する。異常判定手段B100は、異常判定乱数取得部B101と、異常判定乱数記憶部B102と、異常判定乱数比較部B103と、異常判定部B104とを備えて構成されている(図6参照)。異常判定乱数取得部B101は、乱数発生装置12から異常か否かを判定するための乱数(以下、異常判定用乱数と称する)を取得し、前記取得した異常判定用乱数は、RAM16またはCPUレジスタの異常判定乱数記憶部B102に記憶される。異常判定乱数比較部B103は、異常判定乱数記憶部B102に記憶された乱数の値の比較を行い、異常判定部B104は、前記異常判定乱数比較部B103による比較結果に基づいて、乱数発生装置12が正常か否かの判定を行う。
以上のように構成される異常判定手段B100の処理について、図8に示すフローチャートを参照しながら説明する。まず、1個目の異常判定用乱数(以下、基準乱数と称する)を取得するため、CPU14により第2トリガ信号が第2ラッチ信号出力回路B72に出力され、ステップS301に示す基準乱数のラッチが行われる。その後、ステップS302において、第2ラッチ信号が第2ラッチ信号出力回路B72から出力されることにより、乱数のうちの下位8桁分が読み込まれ、CPUデータバスに出力された後、異常判定乱数記憶部B102に保存される(ステップS303)。そして、ステップS304にて、上位8桁分が読み込まれた後、ステップS305で、上位8桁分がCPUデータバスに出力され、異常判定乱数記憶部B102に保存される。
そして、時間Δt(後に詳述)が経過した後、2個目の異常判定用乱数(以下、第1比較用乱数と称する)を取得するため、CPU14により入出力回路部B40を介して第2トリガ信号が第2ラッチ信号出力回路B72に出力され、ステップS306に示す比較用乱数のラッチが行われる。その後、ステップS307において、第2ラッチ信号が第2ラッチ信号出力回路B72から出力されることにより、ステップS308において、乱数のうちの下位8桁分が読み込まれる。そして異常判定乱数記憶部B102に保存され、ステップS309にて、上位8桁分が読み込まれた後、ステップS310で、上位8桁分がCPUデータバスに出力され、異常判定乱数記憶部B102に記憶される。
その後、ステップS311において、異常判定乱数記憶部B102に記憶された基準乱数と第1比較用乱数を用いて、異常判定乱数比較部B103が、これらの乱数値が同一であるか否かの比較を行う。そして、ステップS312において、異常判定乱数比較部B103の比較結果が同一でない場合、異常判定部B104が正常と判断して処理を終了する。また、ステップS313において、異常判定乱数比較部B103の比較結果が同一で且つ異常判定用乱数の取得回数が3回に達しておらず検索が終了していない場合、再度、ステップS306に戻り上記のように、異常判定乱数取得部B101が3個目の異常判定用乱数(以下、第2比較用乱数と称する)の16ビット中の下位8ビットを取得しその後上位8ビットを取得し、取得した第2比較用乱数は異常判定乱数記憶部B102に記憶される(ステップS307〜310)。
そして、ステップS311に移行して、異常判定乱数記憶部B102に記憶された基準乱数(第1比較用乱数でもよい)と第2比較用乱数を用いて、異常判定乱数比較部B103が、これらの乱数値が同一であるか否かの比較を行う。そして、ステップS312にて異常判定乱数比較部B103の比較結果が同一でない場合、異常判定部B104は正常と判断して処理を終了する。また、異常判定乱数比較部B103の比較結果が同一であり、乱数の取得回数が3回に達し検索が終了した場合(すなわち、基準乱数、第1比較用乱数、及び第2比較用乱数が全て同一の値であると判断された場合)、異常と判断し処理を終了する。
なお、プログラムの処理時間については、CPU14のクロック周波数が8MHzである場合、ラッチから乱数の読み込みまで(ステップS301〜S302、S306〜S307)はそれぞれ0.875μs、乱数の保存(ステップS303、S305、S308、S310)はそれぞれ1.5μs、上位桁の乱数の読み込み(ステップS304、S309)はそれぞれ0.5μs、乱数の比較及び一致したか否かの判断(ステップS311、S312)は5.875μs、検索を終了するか否かの判断(ステップS313)は、1.625μsかかり、その他の処理も加えると全体でおおよそ28.375μsとなる。
異常判定手段B100は、異常と判断して処理を終了する場合、エラー表示部5cにエラーコードを表示させて、遊技機を遊技不可の状態にすることもできる。なお、エラーを表示する手段としては、上記エラー表示部5cに限られず、ランプ、音声、画像等で表示させてもよい。また遊技機単体で上記表示を行うのではなく、後述する第2実施形態のパチンコ機PMのように、遊技機が外部集中端子基板70(図3参照)を介して信号を出力し、遊技機に接続して設けられたホール全体の遊技機を管理する管理コンピュータに該信号を受信させることにより、管理コンピュータに異常が発生した旨を報知させるようにしてもよい。
以上のように、異常判定手段B100は、2回または3回乱数の取得を行い乱数発生装置12が正常か異常かの判断を行っているが、異常判定用乱数の取得回数が2回または3回である理由及び上記異常判定乱数取得部B101が乱数を取得する時間Δtについて、以下で図9を参照しながら説明する。まず、乱数テーブルB53aを更新させる周期など、一通りの乱数値を出力する所定の時間F(以下、出力乱数値更新時間Fと称する)、乱数クロック発生回路B51から発生するクロックの周期をf、異常判定乱数取得部B101が乱数を取得する間隔を上記のようにΔtとすると、図9(a)及び(b)に示すように、間隔Δtは、出力乱数値更新時間Fより短い。こうすることにより、出力乱数値更新時間Fの間に少なくとも2回異常判定用乱数を取得できる可能性が高くなる。
ここで、一通りの乱数値を出力している出力乱数値更新時間Fの間において、乱数発生装置12が正常に稼動している場合は、取得する乱数値は必ず異なった値となる。そこで、図9(a)のように、出力乱数値更新時間Fの間に2回異常判定用乱数を取得できたときは、これらの異常判定用乱数が同一であれば直ちに異常と判断できるが、図9(b)のように、1回目の異常判定用乱数を取得してから2回目の異常判定用乱数を取得するまでの間に、出力乱数値更新時間Fが経過し例えば乱数テーブルB53aが更新されたような場合、取得した異常判定用乱数の値が同一であっても必ずしも異常とは判断できず、偶然同一の乱数値を取得した可能性もある。従って、異常判定用乱数を2回取得しただけでは、異常か否か(偶然同一の乱数値を取得したのか)を判断することはできない。
そこで、図9(b)のように、1回目の異常判定用乱数を取得してから2回目の異常判定用乱数を取得するまでの間に出力乱数値更新時間Fが経過したとき(偶然同一の異常判定用乱数を取得したとき)のことを考慮して、異常判定手段B100は、もう1回(合計3回)異常判定用乱数を取得することとしている。こうすれば、図9(b)のように1回目の異常判定用乱数を取得してから2回目の異常判定用乱数を取得するまでの間に出力乱数値更新時間Fが経過したときでも、2回目の異常判定用乱数を取得してから再度出力乱数値更新時間Fが経過する前に3回目の異常判定用乱数を取得すれば、乱数発生装置12が正常な場合2回目で取得した異常判定用乱数と3回目で取得した異常判定用乱数とは同一となることはありえないので、乱数値が同一であれば確実に異常であると判断できる。このようにして、異常判定手段B100は、異常判定用乱数を取得する間隔Δtを出力乱数値更新時間Fより短くし、出力乱数値更新時間Fの2周期の間に3回、この間隔Δtで異常判定用乱数を取得することにより、確実に異常か否かの判定を行うことができる。
また、異常判定乱数取得部B101が乱数を取得する間隔Δtについては、図9(a)及び(b)の一部を拡大させた図9(c)に示すように、乱数生成回路B86に入力されるクロックの周期fよりは長い。間隔Δtが周期fより短いと、上記クロックに基づき乱数値が変更される間に2回異常判定用乱数を取得することになり、この場合、同一の乱数値となるのは自明であり、このような場合を排除する必要があるからである。
以上のように、異常判定手段B100の処理は行われるが、異常判定用乱数の取得及び判定のビット数の単位はいくつであっても構わない。例えば上述した実施例1のように、クロックカウント回路B81,B82,B83,B84を用いる場合には、異常判定用乱数を4ビット毎に取得、判定するようにし、これを4回繰り返すようにしてもよい。このように、4ビット毎に異常か否かの判定をすることにより、判定の精度がより高くなるとともに、例えば、クロックカウント回路B81,B82,B83,B84のうちのいずれかが故障するような、いわゆるビット不良の故障を検出することも可能となる。
また、上記では、異常判定乱数取得部B101が乱数を取得する間隔をΔtとする例について示したが、このΔtを周期とし、周期的に異常判定用乱数を取得してもよい。また、これとは逆にΔtを必ずしも固定値とする必要もなく可変であってもよい。すなわち、異常判定乱数取得部B101が異常判定用乱数を取得する間隔については、周期的であってもまたは周期的でなくても、同様の効果が得られる。
なお、上記では、異常判定手段B100が3回乱数を取得して、異常か否かを判断する例について説明したが、乱数を取得する回数は3回に限られることなく、4回、5回、またはそれ以上取得しても同じ効果が得られる。ただし、取得回数を増加させても効果は同一なのでプログラムの容量等を考慮した場合、3回が最適である。
次に、実際の遊技における抽選用乱数の取得及び上記異常判定手段B100を稼動させるフロー等について、図10(a)のフローチャートを参照しつつ説明する。なお、以下では、16ビットの乱数を用いる例について説明するが、4ビット、8ビット等でもよく、特にビット数による制限はない。まず、実際の遊技における抽選用乱数の取得及び利用するために実行されるプログラムのフローについて説明する。スロットマシン1の電源が投入されると、必要なパラメータの初期化等を行った後、ステップS100において、スタートレバーSTの操作によるオン信号(例えばハイ信号)を回動回転始動装置センサB11が検出する。そして、入出力回路部B40を介して、第1ラッチ信号出力回路B71に第1トリガ信号が出力される。
続くステップS110においては、第1ラッチ信号出力回路B71から、16ビットの乱数値のうち下位8ビット分を読み込むための第1ラッチ信号が出力され、乱数生成回路B86に入力される。そして、乱数生成回路B86に記憶された乱数値が出力されて、ステップS120に進む。ステップS120においては、ステップS110で出力された乱数値がCPUデータバスを経由して、入出力回路部B40からCPU14に送られる。そして、ステップS130に進む。このステップS130においては、ステップS120で出力された乱数値が、16ビットの乱数値のうちの下位8ビット分として、抽選用乱数取得部B34aに格納される。そして、ステップS140に進む。
続くステップS140においては、第1ラッチ信号出力回路B71から、16ビットの乱数値のうち上位8ビット分を読み込むための第1ラッチ信号が出力され、乱数生成回路B86に入力される。そして、乱数生成回路B86に記憶された乱数値が出力されて、ステップS150に進む。ステップS150においては、ステップS140で出力された乱数値がCPUデータバスを経由して、入出力回路部B40からCPU14に送られる。そして、ステップS160に進む。ステップS160においては、ステップS150で出力された乱数値が、16ビットの乱数値のうちの上位8ビット分として、抽選用乱数取得部B34aに格納される。そして、先のステップS130で格納された下位8ビット分と合わせて、抽選結果を決定するための16ビットの乱数値として取り扱われることとなる。
スロットマシン1における抽選用乱数の取得は上記のようなフローで行われるが、異常判定手段B100による異常判定処理を、スタートレバーSTが操作され抽選用乱数を取得しているタイミングで行うことは好ましくない。その理由について以下で説明する。まず上述したように、スタートレバーSTが操作されスタートレバーSTのオン信号が出力されると、第1ラッチ信号出力回路B71から第1ラッチ信号が出力されるが、この出力とほぼ同じタイミングで、第2ラッチ信号が第2ラッチ信号出力回路B72から出力されると、出力される乱数値が、第1ラッチ信号と第2ラッチ信号のどちらによるものか、すなわち、抽選用乱数の取得によるものか、異常判定用乱数の取得によるものかがわからなくなるという事象が発生する。この事象が発生すると、例えば、スタートレバーSTの操作により出力される第1ラッチ信号による乱数値が当たりであったとしても、第2ラッチ信号により乱数値が切り替わり、取得した乱数値がスタートレバーSTの操作によるものでなくなり、本来当たりであったものが外れとなる、といったように抽選結果が変わる好ましくない問題が発生する。そこで、第1実施形態のスロットマシン1では、異常判定手段B100を、以下の実施例4及び実施例5に示すタイミングで稼動させている。
上述したように、異常判定手段B100は、最低3回(1回目の乱数値と2回目の乱数値が相違する場合は2回)異常判定用乱数を取得するが、実施例4は、この異常判定用乱数の取得タイミングを完全に抽選用乱数の取得タイミングに重ならないようにして取得するというものである。例えば、実施例4では、抽選用乱数取得処理実行フラグを用いる。そして、図10(a)に示す抽選用乱数取得処理の開始直後(ステップS100の実行前)に、抽選用乱数取得処理実行フラグをオンにし、抽選用乱数取得処理の終了直前(ステップS160の実行後)に、抽選用乱数取得処理実行フラグをオフにする処理を追加する。
そして、異常判定処理においては、基準乱数のラッチ(ステップS301)を開始させる前に、抽選用乱数取得処理実行フラグがオンであるか否かの確認処理を追加し、該フラグがオンであるときには該確認処理をループさせ、該フラグがオフになったときに初めて異常判定処理をステップS301から開始するようにしてもよい。上述したように異常判定処理に要する時間はCPU14のクロック周波数が8MHzの時で28.375μsほどなので、抽選用乱数取得処理実行フラグがオフになった直後瞬時に異常判定処理を行うことができ、再度スタートレバーSTが操作され次の抽選用乱数取得処理と重ならないタイミングで異常判定処理を行うことができる。また、上記の方法に限らず、実施例4では、スタートレバーSTが操作され、それに伴い抽選用乱数取得処理が行われステップS160まで完了したことを検出し、その後に異常判定処理を開始するようにしてもよい。
また、実施例4では、上記に限らず、抽選用乱数を取得していないことを条件に異常判定用の乱数を取得し異常判定処理を開始すればよいので、抽選用乱数の取得が可能な、ベットを受け付けてからスタートレバーSTが操作されオン信号が出力されるまでの間以外のタイミングで異常判定処理を開始させるようにしてもよい。例えば、スタートレバーSTが操作されオン信号が出力されてからリールの回転が開始され回転速度が定速になるまでの間、メダルの払出処理中、大当たりの開始デモ期間、または大当たりの終了デモ期間、等が好ましいタイミングとして例示される。
実施例5では、3回の異常判定用乱数の取得のうち、1回目の異常判定用乱数(基準乱数)の取得を、抽選用乱数の取得と併せて実施しようとする方法である。すなわち、異常判定処理(ステップS301〜S313)のうち、基準乱数の取得(ステップS301からS305まで)を、抽選用乱数取得処理と併せて行おうとするものである。具体的には、図10(b)のフローチャートに示すように、図10(a)に示す抽選用乱数の取得フローとほぼ同様の処理を行うが、下位8ビット出力(ステップS220)の後の乱数の格納処理(ステップS230)、及び上位8ビット出力(ステップS250)の後の乱数格納処理(ステップS260)において、取得した乱数値を抽選用乱数取得部B34aに格納するだけでなく、これを1回目の異常判定用乱数(基準乱数)として異常判定乱数記憶部B102に保存させる。
上記のように基準乱数を異常判定乱数記憶部B102に記憶させた後は、実施例4のように抽選用乱数取得処理が実行されていないことを条件として、ステップS306〜S313の処理を行い、異常判定用乱数の取得、比較、そして正常か異常かの判断を行えば、抽選用乱数の取得に影響を与えることなく、異常判定用乱数の取得及び正常か否かの判定ができる。
以上、実施例4では、異常判定処理における3回の異常判定用乱数の取得を、抽選用乱数の取得と重ならないタイミングで行い、実施例5では、3回の異常判定用乱数の取得のうち1回目を抽選用乱数の取得と同時に行い、残りの2回の異常判定用乱数の取得を抽選用乱数の取得と重ならないタイミングで行う例を示した。上記のように実施例5では、1回目の異常判定用乱数の取得を抽選用乱数の取得と併せて実施できるため、実施例4と比較して、異常判定処理のプログラムの容量を減らすことが可能となりこの点では有利である。
以上、第1実施形態のスロットマシン1においては、乱数発生装置12が役抽選手段B34に対応して1つ設けられる例について説明したが、役抽選手段B34のみならず、図柄または演出パターンを抽選するプログラムに用いられる乱数発生装置など、複数の乱数発生装置が設けられている場合にも、本発明に係る異常判定処理を適用させることができる。具体的には、異常判定を行う優先度が高い乱数発生装置に対して優先的に異常判定処理を適用させてもよいし、全ての乱数発生装置に対して異常判定処理を適用させてもよい。
また、第1実施形態では、異常判定処理をスロットマシンに適用させた例について説明したが、本発明に係る異常判定処理を適用させる対象の遊技機としては、スロットマシンに限定されない。以下、異常判定処理をパチンコ機PMに適用させた例を第2実施形態として、特に第1実施形態と異なる部分を強調させながら図11〜図15を参照して説明する。
まず、上記遊技機の一例として説明するパチンコ機PMの概要構成を図11および図12を参照して説明する。図11に示すように、パチンコ機PMは、外郭方形枠サイズに構成されて縦向きの固定保持枠をなす外枠101の開口前面に、これに合わせた方形枠サイズに構成されて開閉搭載用の前枠102が正面左側上下に配設されたヒンジ部材103a,103bにより横開き開閉および着脱が可能に取り付けられ、正面右側に設けられた施錠装置104を利用して通常は外枠101と係合された閉鎖状態に保持される。
前枠102の正面側には、前枠102の前面域に合わせた方形状をなし中央部に取り付けられたポリカーボネート板やガラス板等の透明板材を通して遊技盤120を透視可能なガラス扉105と、球皿に貯留された遊技球を整列させて1個ずつ打球発射装置109(図12を参照)に導く上球皿106とが、ともに左側縁に内蔵されたヒンジ機構により横開き開閉および着脱が可能に組付けられ、通常は施錠装置104および図示しないロック機構を利用して前枠102の前面を覆う閉止状態で保持される。上球皿106のうち横型長方形をなし前枠102に対して開閉可能な当て板106aの左側上部には賞球払出用の賞球払出口106bが設けられている。上球皿106の左側下部には、遊技の展開状況に応じた効果音を発生させる図示しないスピーカからの音声が外部に放出される放音部106cが設けられている。また、前枠102の下部には遊技球を貯留する下球皿107が設けられ、この下球皿107と並んで遊技球の発射操作を行う操作ハンドル108が取り付けられている。
遊技盤120は、板厚19mm程度の積層合板を所定形状に切断等して、その表面に所定意匠のセルを貼り付けた化粧板(ベニヤとも称される)121を基板として構成される。化粧板121の前面側には、帯状の外レール123aおよび内レール123bが円弧状に固設され、これらの外レール123a及び内レール123bで囲まれた内側に遊技領域PAが区画される。遊技領域PAには、第1始動入賞具124a、第2始動入賞具124b、一般入賞具125並びに大入賞具126を備えたアタッカー等の入賞具、および遊技の進行状況に応じて所定の図柄を遊技者が視認可能に表示させる図柄表示装置128などが取り付けられ、遊技領域PAの下端には入賞具124a,124b,125,126に入賞せずに落下した遊技球を遊技盤120の裏面側に排出させるアウト口127が設けられている。また、図柄表示装置128の上方には4個の特別図柄保留ランプ190,190,190,190が設けられている。図柄表示装置128は、遊技盤120のほぼ中央に位置しており、3桁の絵柄の組合せからなる「特別図柄」を液晶画面にて変動表示させるもので、この特別図柄のうち、3桁がいずれも同一種類の絵柄の組合せからなるものを「当たり図柄」と称する。
第1始動入賞具124a又は第2始動入賞具124bへの入賞があると、上球皿106の賞球払出口106bから所定数の賞球(例えば5球)が遊技者に払い出されるのに加え、図柄表示装置128が作動し、図柄の変動が開始される。この変動の結果、停止表示される図柄が当たり図柄の場合には、遊技者にとって有利な「大当たり遊技」が発生する。
この大当たり遊技においては、普段は閉鎖している大入賞具126が開放される。大入賞具126への入賞があると、賞球払出口106bから所定数(例えば15球)の賞球が遊技者に払い出される。この大入賞具126は、開放されてから所定時間(例えば30秒)経過するか、又は所定数(例えば10球)の入賞があるかのいずれかにより一旦閉鎖する。そして、この大入賞具126が開放されている間に、この大入賞具126の内部に設けられている図示しないVゾーンへの入賞があると、大入賞具126は一旦閉鎖した後、再度開放することとなっている。これにより、大入賞具126の開放は、最大16回連続することが可能となっている。また、大入賞具126が16回開放し終えるか、又は大入賞具126の開放中に上記Vゾーンへの入賞がなかった場合には、この大当たり遊技は終了する。
なお、図柄表示装置128における変動表示の最中などに打球が第1始動入賞具124a又は第2始動入賞具124bに入賞した場合には、特別図柄保留ランプ190,190,190,190が最大4個まで点灯することとなっている。すなわち、この特別図柄保留ランプ190,190,190,190が点灯している個数分に相当する回数だけ、以後の図柄表示装置128の作動が保証されることとなっている。
第1始動入賞具124a内における打球の流路には、第1始動入賞具124aへの打球の入賞を検出して検出信号を出力し、図柄表示装置128における図柄の変動表示を開始させるための第1始動入賞センサ151が設けられている。この第1始動入賞センサ151は磁気センサを用いており、検出信号としてハイ信号およびロー信号の2通りの状態をとる第1入賞信号を出力する。この第1入賞信号は、打球を検出していないときにはハイ信号として出力され、打球を検出している間のみロー信号として出力される。なお、光学的又は機械的センサがこの第1始動入賞センサ151として使用されることもある。
また、第2始動入賞具124b内における打球の流路には、第1始動入賞センサ151と同じ磁気センサにより第2始動入賞具124bへの打球の入賞を検出して検出信号を出力し、図柄表示装置128における図柄の変動表示を開始させるための第2始動入賞センサ152が設けられている。この第2始動入賞センサ152は、検出信号としてハイ信号及びロー信号の2通りの状態をとる第2入賞信号を出力する。そして、この第2入賞信号は、打球を検出していないときにはハイ信号を出力しているが、打球が通過している間のみロー信号を出力する。なお、光学的又は機械的センサがこの第2始動入賞センサ152として使用されることもある。以下では、上記第1入賞信号と第2入賞信号とを総称して、単に「入賞信号」と称する。
図12に示すように、前枠102の裏面下部には、遊技球を外レール123aに向けて発射する打球発射装置109、および操作ハンドル108の回動操作を受けて打球発射装置109の作動を制御する発射装置制御基板200が取り付けられている。また、上球皿106の背後には、通常は閉鎖保持される上球皿106によりその前面側が覆われている遊技補助盤と称される補助機構部が形成され、その前面側に打球発射装置109によって打ち出された遊技球を外レール123aに向けて案内する発射レールや、遊技領域PAに到達できずに打球発射装置109側に戻ってきたファール球を下球皿107に排出させるファール球回収経路部材、遊技の展開状況に応じた効果音を発生させる図示しないスピーカなどが取り付けられている。
また、前枠102の背後には、裏セット盤130が取り付けられている。この裏セット盤130は、外枠101の内寸サイズよりも幾分小さめの方形状をなし、中央に表裏貫通する窓口131wを有して一体成形された基枠体131をベースとして構成される。基枠体131の側縁部には上下に所定間隔をおいて裏セット盤揺動ヒンジ部材132,133が固定されており、この上下の裏セット盤揺動ヒンジ部材132,133を前枠102側の上下の固定ヒンジ部材112,113に係合させて揺動あるいは係脱させることで、裏セット盤130が前枠102の背後に横開き開閉および着脱可能に装備され、通常は3箇所の閉鎖レバー134を利用して前枠102の背面を覆うように閉鎖保持される。
裏セット盤130には、窓口131wを取り囲むようにして賞球を払い出すための賞球経路が設けられる。すなわち、基枠体131の裏面側には、遊技球の貯留・供給を行うタンク部材135、タンク部材135から供給される遊技球を整列させて流下させる整列樋部材136、整列樋部材136から供給される遊技球を受けて所定数量の遊技球を待機保持させる賞球待機通路137、賞球待機通路137に待機された遊技球を所定の入賞条件等に基いて払い出す球払出装置138、球払出装置138から払い出された遊技球を上下の球皿106,107に導く賞球払出経路139などの賞球経路が設けられている。また、基枠体131の前面側には、窓口131wの下方に位置して遊技盤120の裏面側に排出されたアウト球およびセーフ球、球抜き機構によって賞球経路の途上から排出された抜き球等を集合させる図示しない集合経路が形成され、基枠体131の裏面側には集合経路と繋がって集合された遊技球を遊技施設側の回収バケットに排出させる図示しない球排出経路が形成されている。
裏セット盤130の裏面各部には、パチンコ機PMの作動を統括的に制御する主基板700や、主基板700からの指令信号に基いて球払出装置138の作動制御を行う球払出基板300、効果照明や効果音の作動制御を行うランプ・音声制御基板400、これらの制御基板や各種電子機器等に電力を供給する電源基板500、遊技ホールに設置された遊技機管理装置(管理コンピュータ)に対して各種の遊技情報を出力する外部接続装置としての外部端子板600などの回路基板が着脱交換可能に取り付けられ、各回路基板や電子機器が図示しないワイヤーハーネスで接続されてパチンコ機PMが構成される。また、球払出基板300の下方には、主基板700を含むこれら回路基板に何らかの異常動作等が生じたときに、これを発光ダイオードによる画面にて報知するためのエラー表示装置161(エラーLED)が設けられている。
パチンコ機PMは、ガラス扉105、上球皿106、裏セット盤130等がそれぞれ閉鎖され、前枠102が外枠101に閉鎖施錠された状態で遊技に供される。遊技は上球皿106に遊技球を貯留させて操作ハンドル108を回動操作することにより開始され、上球皿106に貯留された遊技球が1球ずつ打球発射装置109に送られ操作ハンドル108の回動操作角度に応じた強度で遊技領域PAに打ち出されてパチンコゲームが展開される。
次に、パチンコ機PMを制御する制御システムの概略を図13を参照しながら説明する。本制御システムは、主基板700、第1始動入賞センサ151、第2始動入賞センサ152、図柄表示装置128、外部端子板600およびエラー表示装置161を有して構成され、これらがケーブル等により電気的に接続されている。主基板700は、パチンコ機PMの動作全体を管理するシステムプログラム及び遊技用の実行プログラムが予め記憶されている半導体メモリ等で形成された記憶部を有しこれらのプログラムを実行するメインコントロール部730と、後述する当たりか否かの決定等に用いられる乱数(0〜65535の65536個の乱数値)を発生させる乱数発生装置750とから構成されている。
主基板700は、図13に示すように、外部端子板600を介してパチンコ機PM外部に電気的に接続されており、主基板700から出力される各種の遊技情報をパチンコ機PM外部の管理コンピュータに対して伝送させることができるようになっている。この遊技情報には、何らかの異常を検出した主基板700から出力される報知信号が含まれており、管理コンピュータに対してパチンコ機PMの異常を報知させることができるため、遊技ホールはこの異常を直ちに認識することが可能となっている。さらに、エラー表示装置161がそれぞれ配線ケーブルを介して主基板700に接続されているため、主基板700等の各回路基板における異常を検出した主基板700から出力される報知信号により、エラー表示装置161の点灯を行わせることができる。
メインコントロール部730は、基準クロック発生回路731、CPU732、ROM733、及びRAM734を備えて構成され、メインコントロール部730が実行すべき制御プログラム及び制御の過程で必要なデータはROM733に記載されている(図14参照)。また、基準クロック発生回路731は、パチンコ機PMの制御の中枢を担うCPU732の動作基準をなす基準クロックを発生する回路であって、水晶発振器や水晶振動子等を用いて所定間隔のパルス(クロック信号)を発生するものである。また、このパルスを分周部(不図示)において適宜分周したものを基準クロックとすることもできる。
メインコントロール部730において実行される(CPU732が実行する)制御プログラムは、図13に示すように、当たりか否かを決定する当たり決定手段B134と、当たりが出る確率を変動させる確率変動を行うか否かを決定する確率変動決定手段B135と、異常判定手段B200とを備えて構成される。乱数発生装置750は、上記当たり決定手段B134及び確率変動決定手段B135に対応した当たり決定用乱数発生装置750a及び確率変動決定用乱数発生装置750bを備えて構成されている。それぞれの乱数発生装置750a,750bは、乱数を発生させるために設けられ、第1実施形態の乱数発生装置12の乱数クロック発生回路B51と同様に、乱数クロック発生回路B151等を備えて構成されている(後に詳述)。
当たり決定手段B134は、決定用乱数取得部B134aと、当たり決定部B134bとを備えて構成され、決定用乱数取得部B134aは、当たり決定用乱数発生装置750aが発生させた乱数を決定用乱数(当否乱数)として取得し、当たり決定部B134bは、該決定用乱数の値に基づいて、当たりか否かを決定する。確率変動決定手段B135は、決定用乱数取得部B135aと、確率変動決定部B135bとを備えて構成され、決定用乱数取得部B135aは、確率変動決定用乱数発生装置750bが発生させた乱数を決定用乱数として取得し、確率変動決定部B135bは、該決定用乱数の値に基づいて、確率変動をするかしないかを決定する。
また、ROM733には、当たりか否かを決定するために用いる当たり決定テーブル、及び確率変動をするか否かを決定するために用いる確率変動決定テーブルが格納されており、これらのテーブルには、決定用乱数取得部B134a,B135aが取得した乱数値(以下、決定用乱数と称する)の全範囲について、一の乱数値に対して、例えば「当たり乱数」か、それとも「外れ乱数」かの一意な結果が定まるようなデータが記録されている。当たり決定部B134b及び確率変動決定部B135bは、決定用乱数取得部B134a,B135aが取得した決定用乱数の値と上記テーブルのアドレス値とを比較参照して、当該乱数値に対応する結果を取得する。すなわち、これらのテーブルのアドレス値に対応して1つの結果が特定されることになっている。
乱数発生装置750は、図14に示すように、乱数クロック発生回路B151、クロック反転回路B161、並びに第1及び第2ラッチ信号出力回路B171,B172により構成される。これらは、それぞれ、第1実施形態の、乱数クロック発生回路B51、第1及びB61、並びに第1及び第2ラッチ信号出力回路B71,B72と同一の構成、及び同様の役割を果たすものであるが、入出力回路部B140に入出力される信号が、スタートレバーSTの操作に応じて出力される操作信号ではなく、第1始動入賞具124aもしくは第2始動入賞具124bへの入賞に伴う第1始動入賞センサ151または第2始動入賞センサ152が出力した入賞信号である点が異なる。入出力回路部B140は、第1始動入賞センサ151または第2始動入賞センサ152からの入賞信号に基づいて、第1ラッチ信号出力回路B171に第1トリガ信号を送出し、これにより、上記決定用乱数(当たり決定用乱数、確率変動決定乱数)を取得できるようになっている。なお、第1実施形態と同様、クロック反転回路B161及び第1ラッチ信号出力回路B171を第1ラッチクロック同期回路B166、または、クロック反転回路B161及び第2ラッチ信号出力回路B172を第2ラッチクロック同期回路B167として、それぞれ一体として設けてもよい。
上述した決定用乱数を出力する手段としては、第1実施形態と同様の、クロックカウント回路B81,B82,B83,B84及びカウント値記憶回路B91に相当するクロックカウント回路B181,B182,B183,B184及びカウント値記憶回路B191(実施例1)、または、乱数テーブル(実施例2及び実施例3)を用いることができる。実施例1を採用した場合は、クロックカウント回路B181,B182,B183,B184及びカウント値記憶回路B191を用いてカウント値を乱数値として出力させる。また、実施例2及び実施例3(図7参照)を採用した場合、時間Fごとに乱数テーブルを更新し、更新した乱数テーブルに基づいて乱数値を一通り出力させ、乱数テーブルの更新と乱数値の出力を繰り返す。
乱数発生装置750は、第1実施形態の乱数発生装置12と同じように、以上の実施例1〜3のいずれか、または、これらを組み合わせた構成等を用いて乱数値を生成し、生成した乱数をCPUデータバスに出力させることにより乱数を発生させるが、第1実施形態と同様、一定の乱数値が出力され続ける問題が発生することがある。第2実施形態のパチンコ機PMには、この異常を検出するプログラムである異常判定手段B200が設けられている。この異常判定手段B200は、図6に示す第1実施形態の異常判定手段B100と同じ構成となっており、異常判定乱数取得部と、異常判定乱数記憶部と、異常判定乱数比較部と、異常判定部とを備えて構成される。すなわち、異常判定手段B200においては、異常判定用乱数として、基準乱数及び第1比較用乱数を間隔Δt毎に取得し、基準乱数と第1比較用乱数が同一の場合にのみ、第2比較用乱数を取得し、基準乱数、第1比較用乱数、及び第2比較用乱数が全て同一の値であると判断した場合にのみ異常と判断するという処理を行う(図8のステップS301〜S313参照)。
異常判定手段B200は、異常と判断して処理を終了する場合、上述した報知信号、すなわち、主基板700から異常が発生した旨の信号を出力する処理を行う。具体的には、エラー表示装置161に該信号を出力しエラー表示装置161を点灯させたり、また、該信号をパチンコ機PM外部の管理コンピュータに送出し、管理コンピュータにその旨を表示させたりすることができる。
また、異常判定手段B200による異常判定用乱数の取得の間隔も第1実施形態と同様にΔtとなっており、Δtは、出力乱数値更新時間F(乱数テーブルの更新時間F等)より短く且つクロックの周期fより長くなっている(図9参照)。そして、第1実施形態と同様、より細かいビット数単位で異常判定を行うことにより、判定の精度を高め、ビット不良を検出することも可能である。更に、乱数を取得する回数も3回に限定されず、4回、5回、またはそれ以上取得しても同じ効果が得られる点、Δtが固定値(周期的)であっても可変値(非周期的)であってもよい点、は第1実施形態と同様である。
次に、実際の遊技における当たり決定及び確率変動決定用の乱数(以下、遊技用乱数と称する)の取得、利用の手順を、図15に示すフローチャートを参照しつつ説明する。なお、下記において示されるフローチャートに沿って、CPU732により制御プログラムが実行されるが、CPU732が実行すべき当該制御プログラム及び制御の過程で必要なデータはROM733に格納されている。
まず、パチンコ機PMの電源が投入されると、必要なパラメータの初期化等を行った後、所定のメインルーチンに従って遊技の処理に関するプログラムが実行される。このメインルーチンに呼び出されるサブルーチンとして、上述した遊技用乱数取得処理が図15に示すフローチャートに従って実行される。まず、ステップS600で第1始動入賞具124a及び第2始動入賞具124bへの打球の入賞がチェックされる。
ここで、CPU732による始動入賞センサ151,152からの入賞信号の検出周期は、所定の周期に設定されている。そして、ある検出周期において入賞信号がロー信号であることが検出され、且つ、その次の検出周期及びさらにその次の検出周期と2回連続でハイ信号が検出された場合にのみ有効な入賞と判定される。続くステップS610においては、第1始動入賞具124aへの入賞があったか否かが判断される。ここで、入賞がなかったと判断された場合、もしくは入賞はあったものの既に保留球数が所定の上限個数(例えば4個)に達している場合には、ステップS700に進む。一方、保留球数が上限個数未満で、且つ、入賞があったと判断された場合には、保留球数を1加算した上で、ステップS620に進む。
ステップS620においては、第1ラッチ信号出力回路B171から、16ビットの乱数値のうち下位8ビット分を読み込むための第1ラッチ信号が出力され、乱数生成回路B186に入力される。そして、乱数生成回路B186に記憶された乱数値が出力される(ステップS630)。ステップS640においては、上記の段階で出力された乱数値が、16ビットの乱数値のうちの上位8ビット分として、RAM734の決定用乱数取得部B134a,135aに格納される。そして、ステップS650に進む。ステップS650においては、第1ラッチ信号出力回路B171から、16ビットの乱数値のうち上位8ビット分を読み込むための第1ラッチ信号が出力され、乱数生成回路B186に入力される。そして、乱数生成回路B186に記憶された乱数値が出力され(ステップS660)、ステップS670へ進む。ステップS670においては、上記の段階で出力された乱数値が、16ビットの乱数値のうちの上位8ビット分として、決定用乱数取得部B134a,B135aに格納される。そして、先のステップS640で格納された下位8ビット分と合わせて、16ビットの乱数値として取り扱われる。
図15のステップS700〜S760においては、ステップS700において、第2始動入賞具124bへの入賞があったか否かが判断され、入賞がなかったと判断された場合、もしくは入賞はあったものの既に保留球数が上限個数に達している場合には、処理を終了してメインルーチンに戻る。また、上記入賞があり且つ保留球数が上限個数未満の場合は、ステップS710へ進み、上述したステップS620〜S670と同様の処理を行い、16ビットの遊技用乱数を取得する。
パチンコ機PMにおける遊技用乱数の取得は上記のようなフローで行われるが、異常判定手段B200による異常判定処理を、第1始動入賞具124aまたは第2始動入賞具124bへの入賞が検出され、遊技用乱数を取得しているタイミングで行うことは好ましくない。その理由について以下で説明する。まず第1始動入賞具124aまたは第2始動入賞具124bへ入賞したとき第1ラッチ信号出力回路B171から第1ラッチ信号が出力されるが、この出力とほぼ同じタイミングで、第2ラッチ信号出力回路B172から第2ラッチ信号が出力されると、記憶された乱数値が、第1ラッチ信号と第2ラッチ信号のどちらによるものかわからなくなるという事象が発生する。そして、第1始動入賞具124aまたは第2始動入賞具124bへの入賞による第1ラッチ信号による乱数値が当たりであったとしても、第2ラッチ信号により乱数値が切り替わり、本来当たりだったものが外れとなるという問題が発生する。そこで、第2実施形態のパチンコ機PMでは、異常判定手段B200を、以下の実施例6及び実施例7に示すタイミングで稼動させている。
異常判定手段B200は、最低3回(1回目の乱数値と2回目の乱数値が相違する場合は2回)異常判定用乱数を取得するが、実施例6は、この異常判定用乱数の取得タイミングを完全に遊技用乱数の取得タイミングに重ならないようにして取得するというものである。例えば、上記遊技用乱数取得処理において、第1始動入賞フラグ及び第2始動入賞フラグを設け、ステップS610における、第1始動入賞具124aへの入賞があるか否か及び保留球数が上限個数に達しているか否かの判断を行った後、入賞があり且つ保留球数が上限個数に達していないと判断したときに(ステップS620に移行する前に)第1始動入賞フラグをオンにし、入賞がなかったときまたは保留球数が上限個数に達しているときに(ステップS700に移行する前に)第1始動入賞フラグをオフに処理を追加する。同様にステップS700における第2始動入賞具124bへの入賞があるか否か及び保留球数が上限個数に達しているか否かの判断を行った後、入賞があり且つ保留球数が上限個数に達していないと判断したときに(ステップS710に移行する前に)第2始動入賞フラグをオンにし、入賞がなかったときまたは保留球数が上限個数に達しているときに(メインルーチンに戻る前に)第2始動入賞フラグをオフにする処理を追加する。
そして、異常判定手段B200においては、基準乱数のラッチ(ステップS301)を開始させる前に、第1始動入賞フラグ及び第2始動入賞フラグの両方がオフであるか否かの確認処理を追加し、両方がオフでないときには該確認処理をループさせ、両方がオフになったときに初めてステップS301から処理を開始するようにすればよい。
また、実施例6では、上記に限らず、遊技用乱数を取得していないことを条件に異常判定用の乱数を取得すればよいので、例えば、操作ハンドル108が操作されていないことを検出したときに異常判定処理を開始してもよいし、RAMがクリアされたとき、または、パチンコ機PMの電源を投入した直後の、初期動作中や遊技に関するバックアップデータが存在しないときに異常判定処理を開始してもよい。
実施例7では、3回の異常判定用乱数の取得のうち、1回目の異常判定用乱数(基準乱数)の取得を、遊技用乱数の取得と併せて実施しようとする方法である。すなわち、異常判定手段B200が行う異常判定処理(ステップS301〜S314)のうち、基準乱数値の取得(ステップS301からS305まで)を、決定用乱数取得処理と併せて行おうとするものである。具体的には、図15のフローチャートに示す遊技用乱数の取得フローとほぼ同様の処理を行うが、下位8ビットの乱数格納処理(ステップS640)、及び上位8ビットの乱数格納処理(ステップS670)において、取得した乱数値をRAM734の決定用乱数取得部B134a,135bの決定用乱数取得部B134a,135bに格納するだけでなく、これを基準乱数として異常判定手段B200の異常判定乱数記憶部に保存させる。なお、第2始動入賞具124bの入賞を検出した(ステップS700)後の、下位ビット格納(ステップS730)及び上位ビット格納(ステップS760)のタイミングで異常判定乱数記憶部に保存させてもよい。
異常判定手段B200は、上記のように基準乱数を異常判定乱数記憶部B102に記憶させた後は、実施例6のように遊技用乱数取得処理が実行されていないことを条件としてステップS306〜S313の処理を行い、異常判定用乱数の取得、比較、そして乱数発生装置750が正常か異常かの判断を行えば、遊技用乱数の取得に影響を与えることなく、異常判定用乱数の取得及び判定ができる。
以上、実施例6では、異常判定処理における3回の異常判定用乱数の取得を、抽選用乱数の取得と重ならないタイミングで行い、実施例7では、3回の異常判定用乱数の取得のうち1回目を遊技用乱数の取得と同時に行い、残りの2回の異常判定用乱数の取得を遊技用乱数の取得と重ならないタイミングで行う例を示した。上記のように実施例7では、1回目の異常判定用乱数の取得を遊技用乱数の取得と併せて実施できるため、実施例6と比較して異常判定処理のプログラムの容量を減らすことが可能となりこの点では有利である。ところが、パチンコ機PMでは遊技が実行されている限り、遊技用乱数の取得がランダムに行われるため、異常判定用乱数の取得を間隔Δtで行わなければならないことなどを考えると、実施例6のように、確実に遊技用乱数の取得が行われていないタイミングを検出してから異常判定処理を行う方が、上述した、乱数値が上記第1ラッチ信号と第2ラッチ信号のどちらによるものかわからなくなるという事象の発生を確実に排除できる。
しかし、実施例7の場合において、例えば2個連続して打球が第1始動入賞具124aまたは第2始動入賞具124bに入賞したとしても、上記異常判定処理を行うことは可能である。図16(a)に示すように、2個連続して打球が第1または第2始動入賞具124a,124bに入った場合において、打球の直径(連続した2つの打球間の距離)をα、第1または第2始動入賞センサ151,152における打球の通過距離をβ、打球がαの距離を通過する時間をΔt4、第1または第2始動入賞センサ151,152を通過する時間をΔt2とする。この場合、1個目の打球が検出されてから2個目の打球が検出されるまでの時間がΔt4になり、これは、図16(b)に示すように上記センサを通過し入力受付をしている時間Δt2より長い。また、遊技用乱数の取得間隔をΔt3とすると、遊技用乱数は打球の入賞を検出、すなわちΔt2が開始されてから行われる。ここで、Δt2はおおよそ40ms、Δt3はその10分の1の4ms程度であるため、Δt2間における抽選用乱数の取得は、図16(c)に示すようなタイミングで行われる。すなわち、Δt2の開始から最大でも8msの間には遊技用乱数の取得が完了することになり、異常判定用乱数の取得はその後、Δt2−2Δt3の間(最小でも32msの間)に行えばよいことになる。従って、上述したように異常判定処理に要する時間は28.375μs程度であるため、実施例7の場合においても、図16(c)のΔt2−2Δt3の間(最小でも32msの間)に異常判定用乱数を取得し、異常判定処理を行うことは十分可能である。
以上、第2実施形態のパチンコ機PMにおいては、乱数発生装置750が当たり決定用乱数発生装置750aと確率変動決定用乱数発生装置750bとを備え、当たり決定用乱数発生装置750aと確率変動決定用乱数発生装置750bとがそれぞれ当たり決定部B134bと確率変動決定部B135bとに対応して設けられる例について説明したが、例えば、図柄抽選用プログラム(例えば、大当たり時の確率変動の有無またはラウンド数等、発生させる利得の種類を一意に定めるプログラム等)、演出パターン抽選用プログラム(例えば、演出に伴う変動時間の種類または演出に伴うリーチの種類を一意に定めるプログラム等)、及びこれらのプログラムでそれぞれ使用する乱数発生装置(例えば、図柄抽選用乱数発生装置及び演出パターン抽選用乱数発生装置)が設けられていても、本発明に係る異常判定手段B200により行われる異常判定処理を適用させることができる。具体的には、異常判定を行う優先度が高い乱数発生装置に対して優先的に異常判定処理を実行させてもよいし、全ての乱数発生装置に対して異常判定処理を実行させるようにしてもよい。
また、上記のように乱数値を用いるプログラムが複数存在する場合、例えば乱数値が必要な第1のプログラムと第2のプログラムがある場合において、第1のプログラムに対応した乱数発生装置により発生させた乱数値に、所定の一律の値や別のソフト乱数等の値を加算等により組み合わせ、この組み合わせの結果得られる値を第2のプログラムで用いる乱数値として使用してもよい。具体的には、例えば、当たり決定用乱数発生装置750aにより発生させた乱数値に、別のソフト乱数等の乱数値を演算等により組み合わせて、図柄抽選用プログラム又は演出パターン抽選用プログラムで用いる乱数値として使用してもよい。
以上、第1実施形態のスロットマシン1及び第2実施形態のパチンコ機PMにおいては、異常判定手段B100(B200)が、出力乱数値更新時間F(例えば、乱数テーブルの更新時間F)より短く且つクロックの周期fより長い間隔Δtで異常判定用乱数を3回(1回目と2回目の値が異なる場合は2回)取得することにより、偶然同一の乱数値を取得するケースを排除しつつ、確実に乱数発生装置が正常か否かの判定を行うことができる。また、異常判定手段は、3回異常判定用乱数を取得するだけで上記判定を行うことができるため、従来よりもプログラムの容量を小さくすることもできる。
また、第1実施形態のスロットマシン1及び第2実施形態のパチンコ機PMにおいては、上記実施例4及び実施例6に示すように、抽選用あるいは遊技用の乱数を取得していないタイミングで、上記異常判定処理を稼動させている。これにより、通常の遊技における乱数の取得に影響を与えずに異常判定を行うことができる。なお、上記では、抽選用または遊技用の乱数を取得していない状態を検出したときに異常判定処理を行う例を示したが、この抽選用または遊技用乱数を取得していない状態を検出するときに毎回異常判定を行うようにすることも可能であり、この場合、異常判定処理のプログラムをサブルーチン化することができるため、プログラムの容量を削減しつつ、異常の判定及び検出を早期に行うことができる。
そして、第1実施形態のスロットマシン1及び第2実施形態のパチンコ機PMにおいては、上記実施例5及び実施例7に示すように、抽選用あるいは遊技用乱数の取得と共に、上記異常判定処理で使用する1回目の異常判定用乱数の取得を行うこともできる。これにより、異常判定処理のプログラムの容量を削減できるとともに、異常判定処理を効率良く行うことができる。なお、上記では、抽選用または遊技用乱数の取得に合わせて1回目の異常判定用乱数を取得し異常判定処理を行う例について示したが、この抽選用または遊技用乱数の取得毎に毎回異常判定をすることも可能であり、この場合も、異常判定処理のプログラムをサブルーチン化することができるため、容量を削減しつつ、異常の判定及び検出を早期に行うことができる。また、他の異常検出処理、例えば、払出処理の異常や振動センサが振動を検出した時等に、該検出に合わせて上記異常判定処理を実行させるようにすることも可能である。そして、上記異常判定処理は、スロットマシン1及びパチンコ機PMに限らず、他の遊技機で実行される各種処理に組み込んだり、転用させたりすることも可能である。
また、第1実施形態におけるスロットマシン1及び第2実施形態におけるパチンコ機PMでは、上記異常判定処理の結果、異常と判定された場合にその旨を表示させる表示手段(エラー表示部5c及びエラー表示装置161)が設けられている。この表示手段が設けられていることにより、ホールの管理者などに容易に異常状態を把握させることができ、異常が発生した遊技機を停止させる等、適切な対応を迅速にとることが可能となる。更には、上記表示手段の他に、遊技機の動作を停止または規制する遊技機異常時制御手段を設け、上記異常判定処理の結果異常と判定された場合に、自動的に遊技機の動作を停止または規制するようにしてもよい。具体的には、第2実施形態におけるパチンコ機PMでは遊技球の発射を停止させてもよいし、スロットマシン1及びパチンコ機PMでは、賞球及びメダルの払出処理、抽選処理、入賞処理等が行われなくなるように制御してもよい。このように、遊技機の動作を停止または規制する遊技機異常時制御手段が設けられることにより、異常による遊技者や遊技店が被る不利益の発生を確実に抑止することができる。
なお、本発明に係る異常判定手段B100(B200)の適用対象としては、上記スロットマシン1またはパチンコ機PM等の遊技機に限定されない。すなわち、乱数発生装置が設けられている機器であれば適用することが可能であり、この異常判定手段を用いることにより、当該乱数発生装置の異常動作を検出することができる。
ここまでにおいて、乱数の異常判定処理を主にソフトウェアで行う方法を説明してきた。以下において、乱数の異常判定処理を主にハードウェアで行う方法を説明する。本発明を適用させた遊技機として、第1実施形態としてスロットマシン1(図1参照)について、第2実施形態としてパチンコ機PM(図11参照)についてそれぞれ説明する。
スロットマシン1の外部構造、内部構造は図1、図2を用いて既に説明している。図3のブロック図を用いてCPU14が役抽選等に用いる乱数発生装置、演出制御の概要を既に説明している。スタートレバーSTの操作により、各回胴リールR1,R2,R3を回転させるとともに、後述する役抽選手段B34が、乱数発生装置12から1つの乱数値(以下、抽選用乱数と称する)を取得する。これにより、役の抽選などが行われる。
メインコントロール部11において実行される(CPU14が実行する)制御プログラムとしては、役抽選手段B34及び本発明に係る異常判定手段B100がある(図18参照)。乱数発生装置12内の乱数生成装置(R60)は、乱数(例えば、0〜65535の65536個の乱数値)を発生させることが可能となっている。また、乱数生成装置内には本発明に係る乱数取得トリガー信号発生手段(R70)、乱数異常監視手段(R80)があり、乱数生成装置(R60)が発生する乱数値を比較し比較結果を乱数取得手段(R40)内の異常判定手段B100に出力することで、本発明に係る異常判定手をするように構成されている。まずは、メインコントロール部11と乱数発生装置12の構成について以下で説明する。
図18に示すメインコントロール部11における役抽選手段B34は、特別役、小役、リプレイ等の役の抽選を行うプログラムである。ここで、特別役とは、通常ゲームとは異なるゲームであって遊技者に有利な特別遊技に移行させるための役である。また、小役とは、所定枚数のメダルを遊技者に払い出す役であり、複数種類設けられている。そして、リプレイとは、前ゲームで投入したメダル枚数を維持した再ゲームを行う権利を遊技者に与える役である。
役抽選手段B34は、抽選用乱数取得部B34aと、抽選役判定部B34bとを備えて構成されており(図18参照)、抽選用乱数取得部B34aは、乱数発生装置12が発生させた乱数を抽選用乱数として取得し、抽選役判定部B34bは、該抽選用乱数の値に基づいて、役を決定する。また、ROM15には、アドレス値を有する役抽選テーブルが設けられ、役抽選テーブルは、当該アドレス値に対応した特別役当選領域、小役当選領域、リプレイ当選領域、及び非当選(外れ)領域等、予め所定の割合に設定された領域を備えている。抽選役判定部B34bは、抽選用乱数取得部B34aが取得した抽選用乱数の乱数値と、役抽選テーブルのアドレス値とを照合させることにより、その乱数値が属する領域を参照し、その乱数値が属する領域に対応する役を決定する。例えば、抽出した乱数値が特別役当選領域に属する場合は、特別役の当選と判定し、非当選領域に属する場合は、外れと判定する。このように、役抽選テーブルのアドレス値に対応して少なくとも1つの役、または1つの判定結果が特定されることになっている。
このように、上述した役抽選テーブルにはアドレス値が付与されており、アドレス値は、抽選用乱数取得部B34aが取得した、乱数発生装置12が発生させた乱数値に対応するものである。以下で、メインコントロール部11及び乱数発生装置12における乱数値を発生させるための回路である乱数生成装置(R60)について説明する。乱数生成装置(R60)は図17に示されているが、図19においてより詳細を示すように乱数生成装置(R60)はクロック発生回路(R50)が出力するクロックで形成される所定の周期(一例としては、クロック65536個で作られる所定の周期)内において異なる乱数値を生成する乱数生成部(R61)と乱数ラッチ部(R62)とで構成される。乱数生成部(R61)の出力は、遊技者がスタートレバーSTを操作したことにより、回動回転始動装置センサB40から出力されるオン信号が、乱数取得手段(R40)の入出力回路(B40)に乱数ラッチ信号として入力される。さらに、乱数ラッチ信号は入出力回路B40を経由して乱数生成装置(R60)内の乱数ラッチ部(R62)に入力される。
乱数ラッチ部(R62)は乱数ラッチ信号が入力された時点で乱数生成部(R61)から出力されている乱数値をラッチする。乱数ラッチ部(R62)の出力は乱数取得手段(R40)の入出力回路部B40に接続されているため、乱数ラッチ信号が乱数ラッチ部(R62)に入力されたことで、入出力回路部B40は乱数値を取得することになる。取得した乱数値は役抽選手段B34により役抽選用の乱数として使用される。なお、乱数生成部(R61)が生成する乱数値は、前述のように乱数ラッチ信号を契機に、乱数ラッチ部(R62)を経由して乱数取得手段(R40)により取得される以外に、乱数異常監視手段(R80)に入力され、後述するように乱数取得トリガー信号発生手段(R70)が発生する乱数取得トリガー信号により乱数異常監視手段(R80)により乱数値が取得され、乱数生成装置(R60)に異常が発生していないかどうかを監視することになる。
図17において、クロック発生回路(R50)は、乱数発生用のクロックを発生させるために設けられ、クロック発生回路(R50)の出力は乱数生成装置(R60)に入力される。乱数生成装置(R60)はクロック発生回路(R50)から出力されるクロックにより乱数を発生するが、後で詳述する。クロック発生回路(R50)の出力は乱数生成装置(R60)に入力されると同時に乱数取得トリガー信号発生手段(R70)に入力される。クロック発生回路(R50)から出力されるクロックm個が出力される時間は、乱数生成装置(R60)と乱数取得トリガー信号発生手段(R70)、乱数異常監視手段(R80)において所定の周期として用いられ、乱数発生装置12内ではこの所定の周期により、乱数生成装置(R60)から出力される乱数値が乱数ラッチ手段(R30)から出力される乱数ラッチ信号により乱数取得手段(R40:入出力回路B40とCPU14で構成される)により取得される。
乱数生成装置(R60)の実施例としては、例えば乱数生成装置1、乱数生成装置2、乱数生成装置3、および乱数生成装置4の4つの実施例がある。
ここで、2の16乗に相当するm=65536の場合を図20を用いて説明すると、乱数生成装置1は、インクリメントカウンタを用いて例えば16ビットのカウンタ回路を用いる。このような16ビットカウンタ回路は、クロック発生回路(R50)からクロックが入力される毎に数値が1つずつ増加してカウントする第1カウンタ、第2カウンタ、第3カウンタ、および第4カウンタの4個の4ビットインクリメントカウンタを用いる。クロック発生回路(R50)から出力されるクロックは第1カウンタの入力に入力され、第1カウンタはクロック発生回路のクロックが入力される毎に1つずつ数値が増加することで、例えば初期において「0000」であったカウンタ値が、クロック発生回路からクロックが16個入力されると「1111」までカウントされ、第1カウンタの桁上がり信号が出力されて、第2カウンタに入力される。第2カウンタは、第1カウンタの桁上がり信号が入力される毎に1つずつ数値が増加することで、上位の4ビットのカウントをする。同様に、第3カウンタ、第4カウンタがカスケード接続されることで、4個のカウンタからそれぞれ、4ビットのカウント値が最上位4ビットから、最下位4ビットまでを左側から並べると(d)、(c)、(b)、(a)と合計で16ビットのカウント値が出力される。
このような乱数生成装置1の出力は、図17を参照して説明すれば、スロットマシンのような遊技機においてはスタートレバーの操作を契機に乱数ラッチ信号が出力されて乱数生成装置のカウント値が取得され乱数取得手段(R40)を構成する入出力回路B40を経由してCPU14に入力される。このように遊技者の動作を契機として乱数生成装置(R60)のカウント値を取得することから、16ビットのカウンタで構成される乱数生成装置は遊技者から見て十分に乱数と見なすことができる。
以上、乱数生成装置1では、従来の周知となっている16ビットインクリメントカウンタの例について説明したが、乱数生成装置2及び乱数生成装置3は、図7を用いて説明した実施例2、実施例3と同じ構成と動作をする。乱数クロック発生回路B51、乱数テーブル決定部B52、乱数テーブル群B53、乱数値決定部B54、及び乱数値出力部B55を備えて構成される。乱数クロック発生回路B51は、乱数生成装置1と同様、乱数値出力のためのクロックを発生させる。また、乱数テーブル群B53は複数の(図7では2つ示しているが実際は2つ以上の)乱数テーブルB53aを備えて構成され、乱数テーブル決定部B52は、乱数テーブル群B53のうち一つの乱数テーブルB53aを決定する。乱数値決定部B54は、乱数テーブル決定部B52により決定された乱数テーブルB53aに基づいて出力する乱数値を決定し、乱数値出力部B55は、乱数クロック発生回路B51が発生したクロックに基づいて乱数値決定部B54により決定された乱数値を出力する。
また、乱数生成装置2と乱数生成装置3とでは、上述した乱数テーブルB53aの更新の方法が異なっており、まずは図7を参照しながら乱数生成装置2について説明する。なお、乱数生成装置2及び乱数生成装置3では、説明を簡潔にするため、乱数値のビット数を2ビットとする例について示すが、実際は、例えば8ビット、16ビット等、4ビットと異なるビット数の場合でも乱数生成装置2及び乱数生成装置3に示す方法で乱数値を発生させることは可能である。
乱数生成装置2では、乱数テーブルB53aを更新するため、乱数テーブル決定部B52がテーブル選択用乱数(例えば、ソフト乱数等)を取得し、乱数テーブル決定部B52は、上記取得したテーブル選択用乱数の値に基づいて対象の乱数テーブルB53aを読み出す。また、乱数生成装置2では、図7(a)に示すような、例えば2ビットの乱数テーブルB53a(図7の「0123」「1023」など)を24個格納する対応表が設けられる。乱数テーブル決定部B52は、乱数テーブルB53aを更新するときに例えば「Ax」という乱数と「By」という乱数(xは1〜4の自然数、yは1〜6の自然数)を取得し、例えば、取得した乱数が「A1」及び「B1」であった場合、「0123」の乱数テーブルB53aに更新する。そして、1クロックの入力毎に「0」「1」「2」「3」の値が乱数値決定部B54により決定されこの順で乱数値出力部B55により出力される。
なお、上記の例において「0」の出力を開始し「3」の出力を終了するまでの時間はFとなっており、時間Fが経過した後には乱数テーブル決定部B52が再度テーブル選択用乱数を取得する。そして、取得したテーブル選択用乱数が「A3」及び「B5」であった場合は乱数テーブル決定部B52は「2301」の乱数テーブルB53aを更新し、乱数値出力部B55により「2」「3」「0」「1」の順で値が出力される。また、取得した乱数が「A4」及び「B1」であった場合は、乱数テーブル決定部B52が「3012」の乱数テーブルB53aを更新し、上記同様に「3」「0」「1」「2」の順で乱数値出力部B55により値が出力される。このように、乱数テーブル決定部B52が時間Fごとに、図7(a)に示す対応表に基づいて乱数テーブルB53aを更新し、読み出された乱数テーブルB53aに基づいて乱数値がクロックの入力により順次出力されるようになっている。
乱数生成装置3は、乱数生成装置2のように乱数テーブル決定部B52が乱数テーブルB53aを読み出す度にテーブル選択用乱数の取得を行うわけではなく、予め乱数テーブルB53aを読み出す順序が規定されており、乱数テーブル決定部B52が一度テーブル選択用乱数を取得した後は、その規定された順序に基づいて、乱数テーブルB53aを更新し、読み出された乱数テーブルB53aに並べられた乱数値の順序に基づいて乱数値を出力する。そして、該乱数テーブルB53aに基づく乱数値の出力が完了し時間Fが経過した後に、規定された順序に基づいて乱数テーブルB53aを順次読み出すようになっている。
乱数生成装置3では、図7(a)に示すような対応表と、図7(b)に示すようなテーブル順序表が設けられる。乱数テーブル決定部B52は、テーブル選択用乱数(例えば図7(b)における1、2…Zの値)を取得し、例えば、取得したテーブル選択用乱数が「1」であった場合は、テーブル順序表の「A1B1」に基づいて、対応表の「0123」の乱数テーブルB53aが読みだされ、該乱数テーブルB53aに基づいて「0」「1」「2」「3」の順で値が乱数値出力部B55により出力される。そして、「0」「1」「2」「3」全ての値の出力が完了し時間Fが経過した後に、テーブル順序表の「A1B1」の隣のセルの「A2B1」に基づいて、対応表の「1023」の乱数テーブルB53aを更新し、該乱数テーブルB53aに基づき「1」「0」「2」「3」の順で値が出力され再度時間Fが経過した後に、「A3B1」に基づいて、対応表の「2013」の乱数テーブルB53aを更新し「2」「0」「1」「3」の順で乱数値出力部B55により値が出力される。また、最初に取得したテーブル選択用乱数が「Z」であった場合は、テーブル順序表の「A1B1」に基づいて、その後「A4B6」に基づいて、更にその後「A1B4」に基づいて、乱数テーブル決定部B52による乱数テーブルB53aの更新し、及び該乱数テーブルB53aに基づく乱数値出力部B55による乱数値の出力が行われるようになっている。
乱数テーブル決定部B52が取得したテーブル選択用乱数が「1」であり、上記のように乱数値の出力及び乱数テーブルB53aの更新が繰り返され、最終的に図7(b)の「1」の行の右端に示す「A4B6」に基づいて対応表の「3210」の乱数テーブルB53aを更新し「3」「2」「1」「0」の順で値の出力が完了した後は、乱数テーブル決定部B52は再度テーブル選択用乱数(図7(b)における1、2…Zの値)を取得し、この取得したテーブル選択用乱数の値とテーブル順序表に基づいて、上記同様に乱数テーブルB53aの更新及び乱数値出力部B55による乱数値の出力が行われる。
また、テーブル順序表における最後の乱数テーブルB53a(例えば、取得した乱数が「1」のときは「A4B6」のテーブル)の更新及び乱数値出力部B55による乱数値の出力が完了した後について、上記のように再度テーブル選択用乱数(図7(b)における1、2…Z)の値を取得するのではなく、例えば乱数テーブル決定部B52が最初に取得したテーブル選択用乱数が「1」の場合において「A4B6」の乱数テーブルB53aの更新及び乱数値の出力が完了した後に、テーブル選択用乱数「2」の順序、すなわち、「A1B1」「A1B2」「A1B3」…の順序で乱数テーブルB53aの更新及び乱数値の出力を行うようにしてもよい。このように、乱数テーブル決定部B52がテーブル選択用乱数を取得する回数を減らし(または例えばテーブル選択用乱数を取得せずに)、予め決められた順序(例えば、図7(b)のテーブル順序表等)に基づいて乱数テーブルB53aの更新及び乱数値の出力を繰り返すようにしてもよい。
以上のように、乱数生成装置2では、乱数テーブル決定部B52が図7(a)に示すような対応表に基づいて乱数値の出力と乱数テーブルB53aの更新を繰り返す処理を行い、乱数生成装置3では、乱数テーブル決定部B52がテーブル選択用乱数を取得した後に所定の順序で乱数テーブルB53aを更新及び乱数値の出力を行うようになっている。乱数生成装置3は、乱数生成装置2と異なりテーブル順序表を設ける必要があるが、乱数生成装置2のようにテーブル更新毎にテーブル選択用乱数を取得する必要がなくなるため、プログラムによる負荷を小さくすることができるという利点がある。
なお、上述した乱数テーブルB53aに基づく乱数値の出力については、乱数テーブルB53aにおける値の格納領域毎にアドレス番号を付して、クロックの入力毎に該アドレス番号をずらすとともに、該アドレス番号に対応する格納領域の値を出力させるようにしてもよい。
以上、上記乱数生成装置2及び乱数生成装置3では、乱数テーブルB53aに規定された順序に基づいて乱数値を発生させる例を示したが、上記のような乱数テーブルB53a及び乱数テーブル決定部B52を用いないで、例えば、所定のクロックに基づいて所定の演算処理を行うことにより乱数値を発生させることも当然可能である。また、乱数生成装置2または乱数生成装置3により乱数値を発生させる場合には乱数生成装置1で説明したインクリメントカウンタは不要となる。また、乱数値を発生させるための構成については、上記乱数生成装置1〜3のいずれかに限定されることはない。例えば、乱数生成装置1と乱数生成装置2または乱数生成装置3とを組み合わせた構成にして、インクリメントカウンタから出力されたカウント値に基づいて乱数テーブルB53aの値を生成するなどの方法によって乱数値を発生させるようにしてもよい。
乱数生成装置の他の実現例として図21を用いて乱数生成装置4を説明する。発生させたい乱数値が16ビットである場合に、図21に示すように例えば4ビット単位に乱数テーブルを設ける。図21では乱数値の1〜4ビット用に乱数テーブル1、乱数値の5〜8ビット用に乱数テーブル2、乱数値9〜12ビット用に乱数テーブル3、乱数値の13〜16ビット用に乱数テーブル4を設ける。乱数テーブル1〜4はそれぞれ8×8の行列で構成されるテーブルで構成される。それぞれのテーブルの行、あるいは列は3ビットの数値により指定することが可能となる。行、あるいは列を指定する3ビットの数値は、例えば16ビットカウンタの16ビットの出力から3ビットを指定して、それぞれの行、あるいは列を指定する3ビットの信号とする構成が考えられる。3ビットを指定する方法としては、3ビット選択用のテーブルを設ける。16ビットから任意の3ビットを選ぶ組み合わせは16個から順番を考えて3個を選択する計算は順列計算であり、3360通の組み合わせとなることから、3360個の組み合わせを記憶するテーブルを用意することになる。このような3ビットの選択用テーブルは乱数テーブル1〜4の行、あるいは列を指定することから、3360通りの選択が可能なテーブルを8個用意することになる。8個の3ビット選択用テーブルのそれぞれには、3360通りの組み合わせをそれぞれ異なるパターンで記憶しておく。
クロック発生回路から出力されるクロックが入力される毎に、8個の3ビット選択用テービルを順次読み出し、3ビット選択用テーブルが指定するビットに相当する16ビットカウンタの出力ビット線が乱数テーブル1〜4の行、あるいは列に入力されるように構成することで、乱数テーブル1〜4に記憶されている8×8の行例の1つがそれぞれ選択される。選択された乱数テーブル1〜4のそれぞれの行例に記憶されている数値により16ビットの乱数値が出力されることになる。このように構成された乱数生成装置4は、乱数テーブル1〜4内には0〜7の数値が8×8の行例内に順序よく並んで記憶されているが、それぞれのテーブルの行、並びに列を指定する3ビットが3360通りの中から選択される。このように構成された乱数生成装置4の乱数テーブル1〜4の選択パターンは3360の4乗通りとなり、それぞれの選択パターンにおいて16ビットカウンタから異なるカウント値が出力されていることから、遊技者から見て十分にランダムな乱数値が生成される。このように構成される乱数生成装置4は、乱数テーブル1〜4と8個の3ビット選択用テーブルで構成されることから、少ないメモリ量で構成することが可能となる。
また、乱数生成装置4の別の構成例として、3ビット選択用テーブルに乱数テーブル1〜4のそれぞれの行、列を指定する数値を直接記憶しておく構成が考えられる。例えば乱数テーブル1における行、列の選択は図21に示すように64通りの選択方法があり、乱数テーブル1用の3ビット選択用テーブルには64通りの選択パターンを記憶しておく。乱数テーブルは1〜4と4個あることから、64の4乗通りの選択パターンにより0〜16635のいずれかの乱数が選択されることになる。このような別の構成例であっても、遊技者から見て十分にランダムな乱数値が生成される。このように構成される乱数生成装置4は、乱数テーブル1〜4と4個の3ビット選択用テーブルで構成されることから、さらに少ないメモリ量で構成することが可能となる。
ところで、乱数発生装置12において、例えば図20を用いて説明した乱数生成装置1の実施例でのインクリメントカウンタ等に異常が発生したり、または、図7を用いて説明した乱数生成装置2、あるいは乱数生成装置3の実施例での乱数テーブルB53aの更新処理に不具合が発生したり、乱数テーブル決定部B52に異常が生じて、一定の乱数値が出力され続けるという問題が発生することがある。また、図21を用いて説明した乱数生成装置4の実施例の乱数テーブル、あるいは3ビット選択用テーブルに異常が生じて、一定の乱数値が出力され続けるという問題が発生することがある。第1実施形態のスロットマシン1では、この異常を検出するための乱数値監視のための手段を設けている。図17において、乱数異常監視手段(R80)は、乱数取得トリガー信号発生手段(R70)と、乱数取得トリガー信号発生手段(R70)が出力する2つの連続する乱数取得トリガー信号を出力する時間における乱数生成装置(R60)が出力する乱数値を比較し、2つの乱数値が一致しているか否かの判定結果を乱数取得手段(R40)に出力することになる。
図17において、クロック発生回路(R50)から出力されたクロックを基に動作する乱数取得トリガー信号発生手段(R70)は、例えば乱数取得トリガー信号発生手段1、および乱数取得トリガー信号発生手段2、乱数取得トリガー信号発生手段3の3種類の実施例がある。
(乱数取得トリガー信号発生手段の第1の実施例)
乱数取得トリガー信号発生手段1は、図22に示すようにクロック発生回路(R50)から出力されるクロックが入力される毎に数値が1つずつ増加する4ビットのインクリメントカウンタを第1カウンタとし、第1カウンタの桁上がり信号により1つずつ増加する4ビットのカウンタを第2カウンタとし、第2カウンタの桁上がり信号で1つずつ増加する4ビットのインクリメントカウンタを第3カウンタとし、第3カウンタの桁上がり信号で1つずつ増加する2ビットのインクリメントカウンタを第4カウンタとして14ビットの乱数値監視用カウンタ(R71)が構成され、第1〜第4カウンタの桁上がり信号はAND回路に入力されることで、AND回路は第1〜第4カウンタが全てオーバーフローした状態を検出し、第1〜第4カウンタをリセットする。またAND回路の出力は乱数取得トリガー信号として出力される。このように構成することで、乱数値監視用カウンタ(R71)はs(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数が最大カウント値であるカウンタとなっている。これにより、クロックm個に相当する所定の周期においてp個のタイミング信号が乱数取得トリガー信号として出力される。
例えばここで図22を参照しながら具体的な数値で説明すると、2の16乗に相当する整数mを65536とすればn=16となり、pとして例えば3とすれば、「(m÷p)の商」は、65536を3で割ることとなり、商は21845.333となることから、小数点以下を切り捨てた正の整数qは21845となる。(2のr乗)≦qを満足する整数値rは14以下の整数値であることから((2の14乗)=16384、(2の15乗)=32768)正の整数sは16384となる。
整数sの2進数は、左側が2進数の最上位、右側が2進数の最小位とし、2進数は0から数えるものとして、4ビットに左側が最上位ビットとなるように第4カウンタ、第3カウンタ、第2カウンタ及び第1カウンタの出力(d)、(c)、(b)、及び(a)を並べると「11」「1111」「1111」「1111」となり、14ビットが1となる2進数となる。第1〜第4カウンタのそれぞれの桁上がり信号のAND条件により第1〜第4カウンタをリセットする。クロック発生回路(R50)はクロック65536個で形成される時間が所定の周期となり、乱数値監視用カウンタ(R71)からp=3個のタイミング信号を出力するために、整数s(=16384)に相当する2進数(14桁が1となる2進数)となる。ここで、AND回路への入力は以上で説明したように第1〜第4カウンタの桁上がり信号であってもよいが、第1〜第4カウンタの14ビットの出力信号を14ビットの入力端子を持つAND回路に入力する構成であってもよい。このような構成の場合であっても、所定の周期においてp=3個のタイミング信号がAND回路から出力される。
(乱数取得トリガー信号発生手段の第2の実施例)
乱数取得トリガー信号発生手段2は、図23に示すように比較回路1(R721)を設け、比較回路1(R721)の第1の比較入力端子に4ビットインクリメントカウンタで構成される第4〜第1カウンタの出力(d)〜(a)を入力し、第2の比較入力端子に「0011」「1111」「1111」「1111」を入力しておくことで、第4〜第1カウンタの出力が第2の比較入力端子の数値と同じになった時点、言い換えれば整数値s(=16384)と同じ数値がカウントされたときに、比較回路1(R721)の出力により第4〜第1カウンタをリセットするように構成する。
(乱数取得トリガー信号発生手段の第3の実施例)
図24を参照しながら、乱数取得トリガー信号発生手段3を説明すると、乱数値監視用カウンタ(R71)と比較回路1(R722)を用いる。乱数値監視用カウンタ(R71)の具体的な構成は図20に示した乱数値取得トリガー信号発生手段1の第1〜第4カウンタを用いた構成と同じような構成となる。図24に図示するように乱数生成装置(R60)の出力は比較回路1の第1の比較入力端子に入力される。ここで、1×s(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数)からp×sまでのp個の2進数が第2〜第(p+1)の比較入力端子に入力される構成となっている。クロック発生回路(R50)から出力されるクロックが前記乱数値監視用カウンタ回路(R71)に入力される毎に、前記第1の比較入力端子に入力される前記乱数値監視用カウンタ(R71)の出力と、前記比較回路1(R722)の第2〜第p+1の比較入力端子の数値とが比較され、比較結果が一致した場合に比較回路1(R722)の出力から乱数取得トリガー信号が出力される。
このような構成になっているために、クロック発生回路(R50)から出力されるクロックが乱数値監視用カウンタ回路(R71)に入力される毎に、乱数値監視用カウンタ(R71)から出力されて比較回路1(R722)の第1の比較入力端子に入力される値と、第2〜第(p+1)比較入力端子に入力されている値が比較された結果として、比較回路1(R722)からは所定の周期内において、p個のタイミング信号が乱数取得トリガー信号として出力されることになる。
ここで、図24を参照しながら乱数取得トリガー信号発生手段3の実施例を具体的な数値を用いて説明すると、整数値sに関しては、乱数取得トリガー信号発生手段1において説明したのと同様になる。所定の周期をクロック発生回路(R50)から出力されるクロック65536個が発生する時間とすると、2のn乗は2の16乗となり、m=2の16乗=65536であり、pとして3を選べば、mをpで除した商から余りを切り捨てた整数qはq=21845となり、2のr乗≦qを満足する整数は14であることから、s=(2のr乗)=(2の14乗)=16384となる。従って、比較回路1(R722)の第2〜第(p+1)の比較入力端子は第2〜第4比較入力端子となり、それぞれの比較入力端子には16384、2×16384=32768、3×16384=49252の2進数表現を入力することになる。16384の2進数表現は左側が最上位ビットとして4ビット毎に表現すると、「0011」「1111」「1111」「1111」であり、2×16384の2進数表現は「0111」「1111」「1111」「1110」であり、3×16384の2進数表現は「1000」「0000」「0000」「0001」となる。このようにすることで、乱数取得トリガー信号発生手段2は所定の周期内において、3個の乱数取得トリガー信号を出力することになる。これら3個の2進数は固定値として比較回路1(R722)の第2〜第(p+1)比較入力端子に入力される。
このような乱数取得トリガー信号発生手段1〜3で用いられている乱数値監視用カウンタに入力されるクロック発生回路(R50)から出力されるクロックは、乱数生成装置(R60)にも入力されるが、乱数値監視用カウンタ(R71)と乱数生成装置(R60)を全く同じクロックの位相で動作させると、乱数生成装置(R60)の出力信号はクロックの位相が変化する時間に出力され始め、比較回路1(R722)から乱数取得トリガー信号が出力される時間も同じクロックの位相が変化し始める時間となることから、回路が不安定になる可能性がある。このため、乱数値監視用カウンタ(R71)に入力されるクロックはクロック発生周期fよりも小さい時間だけ遅延させることが好ましい。クロック発生周期fよりも小さい時間遅延させる方法としては、クロック発生回路(R50)から出力されるクロックを反転回路に入力し、反転回路の出力を乱数値監視用カウンタ(R71)に入力することが好ましい。
(乱数取得トリガー信号発生手段の第1、第2、第3の実施例以外の他の実施例)
なお、乱数取得トリガー信号発生手段1または2が所定の周期内においてp個の乱数取得トリガー信号を出力する実施例を説明した。乱数取得トリガー信号発生手段1〜3は、出力される乱数取得トリガー信号が整数値sに相当するタイミング時間間隔でp個の乱数取得トリガー信号を出力する構成を示したが、本発明における乱数取得トリガー信号発生手段(R70)が出力するp個のタイミング信号は等しいタイミング時間間隔で出力する必要はなく、所定の周期内において時間間隔が一定でない形でp個のタイミング信号を出力してもよい。このような時間間隔が一定でないp個のタイミング信号を発生する方法は、図24に示す乱数取得トリガー信号発生手段3の比較回路の第2〜第p+1の比較入力端子に時間間隔が一定でないタイミング時間に相当する数値を入力する構成としてもよい。また、図23に示す乱数取得トリガー信号発生手段2の第2の比較入力端子にp個のそれぞれのタイミング時間に相当する数値を別の記憶回路に記憶させ、比較回路1(R721)により1つのタイミング信号を出力する毎に別の記憶回路に記憶されている別のタイミング時間に相当する数値を第2の比較入力端子に入力させるような構成であってもよい。
また、乱数取得トリガー信号発生手段(R70)に乱数値監視用カウンタ(R71)を用いないでp個のタイミング信号を出力するような乱数取得トリガー信号発生手段は、以上のように説明した方法以外にもさまざまな実施例が考えられる。本発明は所定の周期内においてp個のタイミング信号を乱数取得トリガー信号として出力する回路構成は、以上において説明した実施例に限定されない。具体的な数値を用いて説明すると、クロック発生回路から出力されるクロック65536個が発生する時間に相当する所定の周期において、3個のタイミング信号をクロックs個、つまりはクロック16384個が発生する時間間隔で出力するような実施例を乱数取得トリガー信号発生手段1〜3として説明したが、乱数取得トリガー信号発生手段1〜3に示したように65536個のクロック発生周期にあたる所定の周期の全体において、ほぼ等間隔で3個のタイミング信号を発生させる必要はなく、例えば、所定の周期が開始されてからクロックが100個が出力される毎にタイミング信号を3個だけ乱数取得トリガー信号として出力してもよく、クロック300個が出力される毎にタイミング信号を3個だけ乱数取得トリガー信号として出力してもよい。またタイミング信号が出力される時間は時間間隔が等間隔である必要もない。例えば、所定の周期が開始されてから最初のタイミング信号はクロック100個目の時間であり、2個目のタイミング信号はクロック1300個目の時間であり、3個目のタイミング信号はクロック1450個目の時間であるというように、クロック65536個が出力される所定の周期内において、任意のタイミングで発生されてもよい。さらには、pは3として説明してきたが、pは1<p≦mを満足する任意の整数であれば、どのような数値であってもよい。
乱数生成装置(R60)の異常を監視するために、乱数取得トリガー信号発生手段(R70)が出力する所定の周期内におけるp個の乱数取得トリガー信号を乱数異常監視手段(R80)に出力することで、乱数異常監視手段(R80)では、連続する2つのタイミング時間に相当する乱数取得トリガー信号が出力されるそれぞれの時間に乱数生成装置(R60)から出力される2つの乱数値を比較し、比較結果が一致したか否かの比較結果を図17に示すように、乱数取得手段に出力する。
乱数生成装置(R60)が発生する乱数値は例えばクロック65536個で形成される所定の周期内において、異なる乱数値を発生するが、次の所定の周期のいずれかのクロック発生のタイミングおいては、前の所定の周期において発生した乱数値と同じ乱数値が発生することがある。従って、連続する2つのタイミング時間に相当する乱数取得トリガー信号のみを比較すると、最初の乱数取得トリガー信号が出力される所定の周期と、次の乱数取得トリガー信号が出力される所定の周期が異なることがあり、所定の周期が異なることから、乱数生成装置(R60)から取得した乱数値がたまたま同じ値となることが、低い確率ではあるがありうる。そこで、乱数異常監視手段(R80)による比較は、例えば連続する3つタイミング時間に相当する乱数取得トリガー信号が出力されるそれぞれの時間に乱数生成装置(R60)が出力する乱数値を比較するが、3つのタイミング時間の少なくとも最初のタイミング時間と最後のタイミング時間は異なる所定の周期に発生するタイミング時間であることが好ましい。言い換えれば、異なる所定の周期内において発生する第1〜第3の3回の乱数取得トリガー信号により乱数生成装置(R60)から発生する第1〜第3の3個の乱数値が、第1の乱数値と第2の乱数値との比較結果と、第2の乱数値と第3の乱数値との比較結果と2回比較されることになる。図18に示す乱数取得手段(R40)内の異常判定手段B100は2回の比較結果を比較される毎に乱数異常監視手段(R80)から取得し、それぞれ比較された乱数値が不一致であれば、乱数生成装置(R60)が正常であると判断することになる。このようにすることで、乱数生成装置(R60)が正常であるのに、乱数取得トリガー信号が異なる所定の周期に発生することで、乱数生成装置(R60)を異常と判定してしまう可能性を排除できる。
ここで、ソフトウェアの処理量を低減するために、乱数異常監視手段(R80)が2回の比較結果を逐次乱数取得手段(R40)に出力する構成ではなく、乱数異常監視手段(R80)内に、前の比較結果(1回目の比較結果)を一時記憶する回路を設け、例えば比較結果が不一致であればロウ信号として一時記憶し、比較結果が一致であればハイ信号として一時記憶する回路を設け、2回目の比較をし、比較結果が不一致であればロウ信号とし、2回目の比較結果が一致であればハイ信号とし、一時記憶している1回目の比較結果と2回目の比較結果を例えばAND回路に入力し、どちらの比較結果もハイ信号となっていればAND回路の出力がハイ信号となることで、1回目と2回目の2回の比較結果が一致したことを検出し、乱数異常監視手段(R80)から乱数取得手段(R40)に乱数生成装置(R60)に異常があったことを出力するような構成としてもよい。このように構成すれば図18に示す乱数取得手段(R40)内のCPU14が処理をする異常判定手段B100による異常判定を行う必要がなくなり、CPU14でのソフト処理量をさらに低減させることが可能となる。
図25を参照しながら、乱数生成装置の異常を監視するために、乱数生成装置(R60)の出力を監視するための実施例を説明すると、バッファA(R82)とバッファB(R83)と、乱数取得トリガー信号発生手段(R70)から出力される乱数取得トリガー信号がトリガー端子に入力され、乱数生成装置(R60)の出力が入力端子に接続され、出力がバッファA(R82)とバッファB(R83)に接続されている構成を有する選択回路2(R84)と、バッファA(R82)とバッファB(R83)の出力が比較回路2(R84)に入力され、バッファA(R82)とバッファB(R83)の出力は比較回路2(R84)に入力され、比較回路2(R84)はトリガー端子を持ち、比較回路2(R84)のトリガー端子には乱数取得トリガー信号発生手段(R70)からの乱数取得トリガー信号とクロック発生回路(R50)から出力されるクロックが論理積回路(R85)により論理積された信号が入力される接続構成となっている。
乱数取得トリガー信号発生手段(R70)は所定の周期内においてp個の乱数取得トリガー信号を順次出力し、選択回路(R81)のトリガー端子に入力される。p個の乱数取得トリガー信号が入力されるタイミング時間にいて乱数生成装置(R60)の乱数値の出力は選択回路(R81)の入力端子に入力されている状態であるが、p個の乱数取得トリガー信号がトリガー端子に入力されるタイミング時間毎に選択回路(R81)は、入力端子に入力されている乱数生成装置(R60)の乱数値をバッファA(R82)、またはバッファB(R83)に交互に出力するよう動作する。また、乱数取得トリガー信号発生手段(R70)の乱数取得トリガー信号とクロック発生回路(R50)から出力されたクロックとの論理積を行った信号が比較回路2(R84)のトリガー端子に入力されていることから、比較回路2(R84)はバッファA(R82)とバッファB(R83)の出力信号を比較する動作をする。このように接続構成されていることから、比較回路2(R84)によるバッファA(R82)とバッファB(R83)の出力を比較する動作は、乱数取得トリガー信号発生手段(R70)から出力される連続する乱数取得トリガー信号が出力されるタイミング時間に相当する乱数生成装置(R60)の乱数値を比較することになる。
なお、乱数取得トリガー信号発生手段(R70)の出力とクロック発生回路(R50)から出力されるクロックを論理積回路(R85)に入力した論理積を比較回路2(R84)のトリガー端子に入力する理由は、バッファA(R82)とバッファB(R83)に乱数生成装置(R60)から出力される乱数値を選択回路(R81)を経由して入力する動作を生じさせるタイミング時間とクロック半周期分ずらすことで、バッファA(R82)とバッファB(R83)に乱数生成装置(R60)から出力される乱数値が安定して入力されている時間に比較回路2(R84)を用いてバッファA(R82)とバッファB(R83)の出力を比較するためである。従って、比較回路2(R84)のトリガー端子に入力する信号は、乱数取得トリガー信号発生手段(R70)から出力される乱数取得トリガー信号をクロックの発生周期fよりも小さい時間遅らせる遅延回路を経由して入力するような構成であってもよい。
比較回路2(R84)により、乱数取得トリガー信号発生手段(R70)が出力する1番目〜p番目乱数取得トリガー信号の中で連続するタイミング時間に相当する時間での乱数生成装置(R60)から出力される乱数値が比較される。このことから、乱数生成装置(R60)を構成するIC等の故障、あるいは乱数生成装置(R60)を実装する基板、接続パターン、等の故障、あるいは障害で乱数生成装置(R60)がある固定値を出し続けるというような異常な状態になった場合に、異なる時間における乱数生成装置(R60)から出力される乱数値を、比較する動作を続けることから、比較回路2(R84)の出力からバッファA(R82)とバッファB(R83)の出力が同じという比較結果となった場合には、乱数生成装置(R60)は同じ乱数値を出し続けているということになり、乱数生成装置(R60)の異常を監視することが可能となる。また、比較回路2(R84)の出力結果がバッファA(R82)とバッファB(R83)の出力が不一致という比較結果になった場合は、乱数生成装置(R60)は正常に動作していると判断することができる。比較回路2(R84)の出力は乱数取得手段(R40)に接続される構成となっている。
なお、乱数取得手段(R40)は図17に示されるように乱数生成装置から出力される信号が乱数取得手段(R40)に入力される構成となっている。乱数取得手段(R40)はメインコントロール部11内に実装されているCPU14と入出力回路B40とで構成されている。遊技者による遊技機の操作を契機として発生する乱数ラッチ信号はメインコントロール部11に入力される。乱数取得手段(R40)は、乱数ラッチ信号が入力された時点での乱数生成装置(R60)から出力される乱数値を入出力回路B40を経由してCPU14に読み込むように動作する。
比較回路2(R84)から乱数生成装置(R60)が正常であることを示す信号が入力されている場合には、乱数取得手段(R40)は乱数ラッチ信号を契機として読み込んだ乱数生成装置(R60)の16ビット乱数値を読み込む。比較回路2(R84)から乱数バッファA(R82)とバッファB(R83)の比較結果が一致したことを示す信号が入力されている場合には、乱数取得手段(R40)は乱数ラッチ信号を契機として読み込んだ乱数生成装置(R60)の16ビット乱数値は異常であったとして、遊技機における演出制御あるいは当否制御、等の制御において異常である場合の処理をすることになる。
ハードウェアにより異常判定する方法においては、遊技者によるスタートレバーの操作を契機として乱数ラッチ信号が発生し、乱数生成装置(R60)が発生せる乱数値が抽選用乱数として乱数取得手段(R40)により取得されるが、異常判定用乱数は乱数異常監視手段(R80)において、3つの異なるタイミングで発生する乱数値がそれぞれ2個ずつ比較され、比較された結果が乱数取得手段(R40)に出力され、主にソフトウェアによる異常判定処理のように、CPU14が抽選用乱数と異常判定用乱数の2つの乱数を取得するわけではないため、抽選用乱数が異常判定用乱数に切り替わり、好ましくない動作をすることはない。
しかしながら、悪意ある遊技者による不正な操作を防止するためには、乱数ラッチ信号のタイミング時間と、乱数取得トリガー信号が発生するタイミング時間は異なるタイミング時間であることが好ましい。このため、図17の乱数取得トリガー信号発生手段(R70)の出力端子に2入力EXOR回路(イクスクルーシブオア回路、またはエクスクルーシブオア回路)を設け、乱数ラッチ信号は乱数ラッチ部(R62)に入力すると共に、EXOR回路の1つの入力端子に乱数ラッチ信号を入力し、EXOR回路の別の入力端子に乱数取得トリガー信号発生手段の出力を入力し、EXOR回路の出力信号と乱数取得トリガー信号発生手段(R70)の出力をAND回路に入力し、AND回路の出力を乱数異常監視手段(R80)に対する新たな乱数取得トリガー信号として入力する構成とすることが考えられる。このように構成することで、遊技者によるスタートレバー操作を契機として発生する乱数ラッチ信号と、乱数取得トリガー信号が同じタイミング時間で重なった場合には、乱数取得手段(R40)が乱数を取得する動作は継続されるが、AND回路の出力はEXOR回路の出力がロウ信号となるために、新たな乱数取得トリガー信号はロウ信号となり、乱数異常監視手段(R80)による乱数を異常監視する動作を停止することになる。このように乱数ラッチ信号のタイミング時間と、乱数取得トリガー信号が発生するタイミング時間が同じタイミング時間で重なった場合には、乱数異常監視手段(R80)の動作を停止することで、悪意ある遊技者が乱数取得トリガー信号が発生したタイミングを、何らかの不正な操作で検出して悪意ある操作をすることを防止することが可能となる。
或いは、AND回路の出力をクロック周期において数周期遅延する遅延回路に入力する構成とし、遅延回路の出力を新たな乱数取得トリガー信号として、乱数異常監視手段(R80)に入力する構成とすることが考えられる。このように構成することで、乱数取得手段(R40)は遊技者の操作を契機とする本来の乱数ラッチ信号が発生するタイミング時間で乱数生成部(R61)が発生する乱数を乱数ラッチ部(R62)から取得するが、乱数異常監視手段(R80)はクロック周期において数周期遅延したタイミング時間で乱数取得トリガー信号によって乱数異常監視をすることになり、例えば悪意ある遊技者が乱数取得トリガー信号が発生していることを利用して悪意ある結果を得ようとする行為を防止することができる。
なお、乱数ラッチ信号と乱数取得トリガー信号が同じタイミングで重なって発生する場合の対策として、図17の乱数取得トリガー信号発生手段(R70)の出力端子に2入力EXOR回路(イクスクルーシブオア回路、またはエクスクルーシブオア回路)を設け、EXOR回路の1つの入力端子に乱数ラッチ信号を入力し、EXOR回路の別の入力端子に乱数取得トリガー信号発生手段の出力を入力し、EXOR回路の出力信号と乱数ラッチ信号をAND回路に入力し、AND回路の出力をクロック周期において数周期遅延する遅延回路に入力する構成とし、遅延回路の出力を新たな乱数ラッチ信号として、乱数ラッチ部(R62)に入力する構成とすることも考えられる。このように構成した場合には、乱数異常監視手段(R80)は乱数取得トリガー信号が発生したタイミングで乱数生成装置(R60)の異常を監視するが、乱数取得手段(R40)は、スタートレバーの操作を契機として発生した乱数ラッチ信号からずれたタイミング時間において乱数生成装置(R60)が発生した乱数値を取得することになる。このような構成により、悪意ある遊技者が乱数取得トリガー信号が発生していることを利用して悪意ある結果を得ようとする行為を防止することができる。
このような、EXOR回路を用いて乱数ラッチ信号と、乱数取得トリガー信号が重なった場合に片方の信号をずらす処理は、主にソフトウェアにより異常判定処理をする場合にも適用でき、主にソフトウェアによる異常判定処理において、CPU14が抽選用乱数取得と異常判定用乱数の取得が重ならないようにするための実施例4、あるいは実施例5によるソフトウェアの処理量を低減する効果が期待できる。
なお、図26に示すように、乱数生成装置(R60)の出力と乱数値監視用カウンタ(R71)の出力を演算回路(例えば加算回路、論理和回路、減算回路、他)(R86)に入力し、演算回路(R86)の出力を乱数取得手段(R40)に入力するような構成としてもよい。乱数生成装置(R60)の構成によっては、所定の周期内において、連続する2つの乱数取得トリガー信号が出力される時間において、同じ乱数値が選択され出力される可能性がありうる。また、乱数生成装置(R60)が故障によりある固定した乱数値を出し続ける場合に、固定した乱数値が遊技機の演出制御、あるいは当否制御において当たり状態に相当する乱数値を出力する状態で故障する可能性がありうる。乱数生成装置(R60)の出力と乱数値監視用カウンタ(R71)の出力を演算回路(R86)を経由して乱数取得手段(R40)に入力する構成とすることで、乱数生成装置(R60)が当たり状態に相当する乱数値で固定するような故障を起こしても、演算回路(R86)には乱数値監視用カウンタ(R71)を構成するインクリメントカウンタから、クロックの発生周期毎に1つずつカウンタ値が増加する値が入力されることから、乱数取得手段(R40)には例えば演算回路が加算回路である場合には、1つずつ加算された値が乱数値として取得されることになり、乱数生成装置(R60)が当たり状態の乱数値に固定した故障となり、遊技店に不当に不利になる状態を作り出さない効果がある。
このような乱数発生装置12の動作を図27においてタイムチャートを用いて示す。図27のタイムチャートにおいて、クロックはクロック発生回路(R50)から出力されるクロック信号である。乱数値監視用カウンタ(R71)には反転回路を経由してクロックが入力されるが、図27の反転クロック信号が乱数値監視用カウンタ(R71)に入力される。乱数値監視用カウンタ(R71)はインクリメントカウンタで構成される。本発明は16ビットのインクリメントカウンタに限定されるものではないが、1例として乱数値監視用カウンタに16ビットのインクリメントカウンタが用いられる場合には、図27に示すように1反転クロック信号が入力される毎に、乱数値監視用カウンタ(R71)のカウンタ値は0から増加し、所定の周期(16ビットのインクリメントカウンタを用いる場合には65536個のクロックに相当する時間)で65535のカウント値となる。
乱数生成装置(R60)は乱数生成装置1の実施例の場合には0からカウントして65535のカウント値を出力するが、乱数生成装置2、あるいは乱数生成装置3の実施例の場合には、クロックが入力される毎に図7(a)のテーブルに記憶されている乱数値が読みだされて乱数値として出力されることになる。比較回路1(R72)の出力は、乱数取得トリガー信号発生手段(R70)により作成されたタイミングに相当する時間に、選択回路2(R81)のトリガー端子に乱数取得トリガー信号として入力される。図27においては1例として乱数値監視用カウンタ(R71)のカウント値が1から2に、あるいは1000から1001のタイミング時間に乱数取得トリガー信号が出力される例を示している。
乱数取得トリガー信号が比較回路1(R72)から出力されるタイミング時間は、比較回路1(R72)にどのような数値を入力するかで決まる。選択回路(R81)は乱数取得トリガー信号が入力されることで図25に示すように乱数生成装置(R60)から出力される乱数値をバッファA(R82)あるいはバッファB(R83)に出力する。比較回路2(R84)は乱数取得トリガー信号とクロックの論理積回路(R85)を経由した信号が入力されることから図25においては乱数取得トリガー信号よりもクロック半周期遅れた信号として図示されている。バッファA(R82)とバッファB(R83)を比較回路2(R84)で比較した結果、乱数生成装置(R60)に異常があると判断された場合には図17にエラー信号として示したように論理積回路(R85)の出力と同期した時間にエラー信号が出力される。このエラー信号は乱数異常監視手段(R80)の判定結果として乱数取得手段(R40)に出力される。
また、第1実施形態では、異常判定処理をスロットマシン1に適用させた例について、連続する所定の周期において3回の乱数値を取得し、異常判定を主にハードウェアにより判定する方法を説明したが、本発明に係る異常判定処理を適用させる対象の遊技機としては、スロットマシンに限定されない。以下、異常判定処理をパチンコ機PMに適用させた例を第2実施形態として、特に第1実施形態と異なる部分を強調させながら図11〜図13,図28を参照して説明する。第2の実施形態においても連続する所定の周期において3回の乱数値を取得し、異常判定を主にハードウェアにより判定する方法を説明する。
まず、上記遊技機の一例として説明するパチンコ機PMの概要構成は図11および図12を参照して既に説明している。さらに、図13を用いてメインコントロール部730での制御の概要を既に説明している。メインコントロール部730において当たり決定手段B134と、確率変動決定手段B135と、異常判定手段B200の構成と動作を説明している。
図14に示されたROM733には、当たりか否かを決定するために用いる当たり決定テーブル、及び確率変動をするか否かを決定するために用いる確率変動決定テーブルが格納されており、これらのテーブルには、決定用乱数取得部B134a,B135aが取得した乱数値(以下、決定用乱数と称する)の全範囲について、一の乱数値に対して、例えば「当たり乱数」か、それとも「外れ乱数」かの一意な結果が定まるようなデータが記録されている。当たり決定部B134b及び確率変動決定部B135bは、決定用乱数取得部B134a,B135aが取得した決定用乱数の値と上記テーブルのアドレス値とを比較参照して、当該乱数値に対応する結果を取得する。すなわち、これらのテーブルのアドレス値に対応して1つの結果が特定されることになっている。
このように、上述した役抽選テーブルにはアドレス値が付与されており、アドレス値は、抽選用乱数取得部B34aが取得した、乱数発生装置12が発生させた乱数値に対応するものである。以下で、メインコントロール部11及び乱数発生装置12における乱数値を発生させるための回路と、乱数発生装置12が発生した乱数が異常か否かを主にハードウェアで判定する方法を説明する。以下において、メインコントロール部11及び乱数発生装置12における乱数値を発生させるための回路と乱数の監視方法を説明する。図28に示す乱数発生装置12は、クロック発生回路(R50)、乱数生成装置(R60)、乱数取得トリガー信号発生手段(R70)、乱数異常監視手段(R80)を備えて構成され、乱数生成装置(R60)が正常に動作しているのか、異常な動作となっているのかを監視する。
ここで、図14を用いて説明した主にソフトウェアによる異常判定をする場合においては、遊技用乱数を取得するための第1ラッチ信号と、異常判定用乱数取得のための第2ラッチ信号により、乱数取得手段であるCPU732が乱数生成回路(B186)から入出力回路B140を経由して乱数値を取得する構成となっていたため、第1ラッチ信号と第2ラッチ信号がほぼ同じタイミングで重なり、取得された遊技用乱数が異常判定用乱数に切り替わり、本来当たりであったものが外れとなるという問題を発生する。このような問題を避けるために実施例6及び実施例7によるタイミングで制御することを説明した。
図28に示すハードウェアにより異常判定する方法においては、第1始動入賞センサ、または第2始動入賞センサに基づき乱数ラッチ信号が発生し、乱数生成装置(R60)が発生せる乱数値が遊技用乱数として乱数取得手段(R40)により取得されるが、異常判定用乱数は乱数異常監視手段(R80)において、3つの異なるタイミングで発生する乱数値がそれぞれ2個ずつ比較され、比較された結果が乱数取得手段(R40)に出力される。CPU732が遊技用乱数と異常判定用乱数の2つの乱数を取得するわけではないため、遊技用乱数が異常判定用乱数に切り替わり、好ましくない動作をすることはない。
しかし、悪意ある遊技者が異常判定のタイミングに合わせて遊技機を操作することで、遊技用乱数を当たり状態で取得するような悪意ある操作を防止するためには、遊技用乱数を取得するタイミングと乱数生成装置(R60)において、乱数取得トリガー信号が発生するタイミングが重ならないようにすることが好ましい。このため、図28の乱数取得トリガー信号発生手段(R70)の出力端子に2入力EXOR回路(イクスクルーシブオア回路、またはエクスクルーシブオア回路)を設け、乱数ラッチ信号を乱数ラッチ部(R62)に入力すると共に、EXOR回路の1つの入力端子に乱数ラッチ信号を入力し、EXOR回路の別の入力端子に乱数取得トリガー信号発生手段の出力を入力し、EXOR回路の出力信号と乱数取得トリガー信号発生手段(R70)の出力をAND回路に入力し、AND回路の出力を乱数異常監視手段(R80)に対する新たな乱数取得トリガー信号として入力する構成とすることが考えられる。このように構成することで、第1始動入賞センサーあるいは第2始動入賞センサーが遊技球の入賞を検出したことを契機として発生する乱数ラッチ信号と、乱数取得トリガー信号が同じタイミング時間で重なった場合には、乱数取得手段(R40)が乱数を取得する動作は継続されるが、AND回路の出力はEXOR回路の出力がロウ信号となるために、新たな乱数取得トリガー信号はロウ信号となり、乱数異常監視手段(R80)による乱数を異常監視する動作を停止することになる。このように乱数ラッチ信号のタイミング時間と、乱数取得トリガー信号が発生するタイミング時間が同じタイミング時間で重なった場合には、乱数異常監視手段(R80)の動作を停止することで、悪意ある遊技者が乱数取得トリガー信号が発生したタイミングを、何らかの不正な操作で検出して悪意ある操作をすることを防止することが可能となる。
或いは、AND回路の出力をクロック周期において数周期遅延する遅延回路に入力する構成とし、遅延回路の出力を新たな乱数取得トリガー信号として、乱数異常監視手段(R80)に入力する構成とすることが考えられる。このように構成することで、乱数取得手段(R40)は遊技球の入賞を契機とする本来の乱数ラッチ信号が発生するタイミング時間で乱数生成部(R61)が発生する乱数を乱数ラッチ部(R62)から取得するが、乱数異常監視手段(R80)はクロック周期において数周期遅延したタイミング時間で乱数取得トリガー信号によって乱数異常監視をすることになり、例えば悪意ある遊技者が乱数取得トリガー信号が発生していることを利用して悪意ある結果を得ようとする行為を防止することができる。
なお、乱数ラッチ信号と乱数取得トリガー信号が同じタイミングで重なって発生する場合の対策として、図28の乱数取得トリガー信号発生手段(R70)の出力端子に2入力EXOR回路(イクスクルーシブオア回路、またはエクスクルーシブオア回路)を設け、EXOR回路の1つの入力端子に乱数ラッチ信号を入力し、EXOR回路の別の入力端子に乱数取得トリガー信号発生手段の出力を入力し、EXOR回路の出力信号と乱数ラッチ信号をAND回路に入力し、AND回路の出力をクロック周期において数周期遅延する遅延回路に入力する構成とし、遅延回路の出力を新たな乱数ラッチ信号として、乱数ラッチ部(R62)に入力する構成とすることも考えられる。このように構成した場合には、乱数異常監視手段(R80)は乱数取得トリガー信号が発生したタイミングで乱数生成装置(R60)の異常を監視するが、乱数取得手段(R40)は、遊技球の入賞を契機として発生した乱数ラッチ信号からずれたタイミング時間において乱数生成装置(R60)が発生した乱数値を取得することになる。このような構成により、悪意ある遊技者が乱数取得トリガー信号が発生していることを利用して悪意ある結果を得ようとする行為を防止することができる。
このような、EXOR回路を用いて乱数ラッチ信号と、乱数取得トリガー信号が重なった場合に片方の信号をずらす処理は、主にソフトウェアにより異常判定処理をする場合にも適用でき、主にソフトウェアによる異常判定処理において、CPU732が遊技用乱数取得と異常判定用乱数の取得が重ならないようにするための実施例6、あるいは実施例7によるソフトウェアの処理量を低減する効果が期待できる。
また、第1実施形態のスロットマシン1及び第2実施形態のパチンコ機PMにおいて乱数の異常監視を主にハードウェアにより実現する方法では、それぞれの実施形態の説明で示すように、乱数異常監視手段が出力する連続する所定の周期において3回の連続する乱数取得トリガー信号が発生するタイミングにおいて乱数生成装置から出力される乱数値を2回比較し、比較手段のそれぞれの比較結果が乱数取得手段(R40)であるCPUに出力され、CPUは連続する所定の周期において2回連続して不一致であれば、乱数生成装置が正常動作と判定することから、CPUに実装されている乱数生成装置を判定するソフトウェアの処理量を大幅に低減することが可能となる。
ここで、ソフトウェアの処理量をさらに低減するために、乱数異常監視手段(R80)が2回の比較結果を逐次乱数取得手段(R40)に出力する構成ではなく、乱数異常監視手段(R80)内に、前の比較結果(1回目の比較結果)を一時記憶する回路を設け、例えば比較結果が不一致であればロウ信号として一時記憶し、比較結果が一致であればハイ信号として一時記憶する回路を設け、2回目の比較をし、比較結果が不一致であればロウ信号とし、2回目の比較結果が一致であればハイ信号とし、一時記憶している1回目の比較結果と2回目の比較結果を例えばAND回路に入力し、どちらかの比較結果もハイ信号となっていればAND回路の出力がハイ信号となることで、1回目と2回めの比較結果が一致したことを検出し、乱数異常監視手段(R80)から乱数取得手段(R40)に乱数生成装置(R60)に異常があったことを出力するような構成としてもよい。このように構成すれば図13に示す乱数取得手段(R40)内のCPU732において異常判定手段B200により異常判定する必要がなくなり、CPU732でのソフト処理量をさらに低減させることが可能となる。
このように、第1及び第2の実施形態のいずれの場合の乱数異常監視手段もハードウェアにより構成されていることから、乱数生成装置から乱数値を出力するための乱数更新周期には依存しない乱数異常監視手段であり、またクロック周期がどのようなクロック周期であっても乱数生成装置の異常を判定可能な構成であり、ソフトウェアの処理量を大幅削減を実現していると同時に、今後さまざま形で遊技機が発展する場合にも容易に適用可能であり、また今後、様々なLSIが出てきた場合にも容易にそれらを利用することが可能となる。
なお、第1の実施形態を示す図17、あるいは第2の実施形態を示す図28において、メインコントロール部(図17において11、図28において730)に基準クロック発生回路(図17においてB21,図28において731)が示されている。乱数発生装置12にクロックを供給するクロック発生回路(R50)は図17、あるいは図28に示すように異なるクロックであってもよいし、同じクロックを用いてもよい。基準クロック発生回路のクロックとクロック発生回路のクロックを異なるクロックとすれば乱数の更新周期と乱数発生装置内の乱数異常監視手段での監視タイミングが異なるものになることから、悪意ある遊技者が乱数の更新周期を察知しにくくなり、遊技機の不正を防止する点でより好ましい。
乱数生成装置が発生した乱数は乱数取得手段により取得され、取得された乱数は役抽選等に用いられる。取得した乱数により抽選を行う際に、乱数生成装置の乱数値更新に用いるソフト乱数を乱数生成装置から取得した乱数に加算する等の演算処理をし、演算処理をした結果の数値を抽選に用いてもよい。このような演算処理をすることで、乱数生成装置に異常が発生しても当たり状態、あるいは外れ状態の数値に固定した状態となることがなくなり、遊技店にとっても遊技者にとっても不当に不利益になることが避けられる。なお、乱数生成装置から取得した乱数に加算あるいは演算処理をする数値はソフト乱数に限定されない。クロック周期毎に可変な数値を発生するものであればそれらの可変な値を用いることができる。
そして、第1実施形態のスロットマシン1及び第2実施形態のパチンコ機PMにおいては、抽選用あるいは遊技用乱数の取得と共に、乱数生成装置(R60)の異常を判定することが可能となる。このような異常検出方法はスロットマシン1及びパチンコ機PMに限らず、他の遊技機で実行される乱数を用いた各種の演出制御、当否制御にも適用可能である。
また、第1実施形態におけるスロットマシン1及び第2実施形態におけるパチンコ機PMでは、上記異常判定処理の結果、異常と判定された場合にメインコントロール部からその旨を示す信号を出力することにより表示させる表示手段を設けてもよい。この表示手段が設けられていることにより、ホールの管理者などに容易に異常状態を把握させることができ、異常が発生した遊技機を停止させる等、適切な対応を迅速にとることが可能となる。更には、上記表示手段の他に、遊技機の動作を停止または規制する遊技機異常時制御手段を設け、上記異常判定処理の結果異常と判定された場合に、自動的に遊技機の動作を停止または規制するようにしてもよい。具体的には、第2実施形態におけるパチンコ機PMでは遊技球の発射を停止させてもよいし、スロットマシン1及びパチンコ機PMでは、賞球及びメダルの払出処理、抽選処理、入賞処理等が行われなくなるように制御してもよい。このように、遊技機の動作を停止または規制する遊技機異常時制御手段が設けられることにより、異常による遊技者や遊技店が被る不利益の発生を確実に抑止することができる。
なお、本発明に係る乱数発生装置の適用対象としては、上記スロットマシン1またはパチンコ機PM等の遊技機に限定されない。すなわち、乱数発生装置が設けられている機器であれば適用することが可能であり、この乱数異常監視手段を用いることにより、当該乱数発生装置の異常動作を検出することができる。
1 スロットマシン(第1実施形態の遊技機)
PM パチンコ機(第2実施形態の遊技機)
12,750 乱数発生装置
B34a 抽選用乱数取得部(第1実施形態の乱数取得手段)
B34b 抽選役判定部(第1実施形態の当否判定手段)
B51 乱数クロック発生回路(第1実施形態のクロック発生回路)
B52 乱数テーブル決定部(テーブル選択手段)
B53a 乱数テーブル
B100 異常判定結果
B134a 決定用乱数取得部(第2実施形態の乱数取得手段)
B134b 当たり決定部(第2実施形態の当否判定手段)
B135a 決定用乱数取得部(第2実施形態の乱数取得手段)
B135b 確率変動決定部(第2実施形態の当否判定手段)
R50 乱数発生装置のクロック発生回路
R60 乱数発生装置の乱数生成装置
R61 乱数生成部
R62 乱数ラッチ部
R70 乱数発生装置の乱数取得トリガー信号発生手段
R80 乱数発生装置の乱数異常監視手段

Claims (6)

  1. 所定の周波数でクロックを発生させるクロック発生手段と、
    前記クロック発生手段から出力されるm個(mは1以上の整数)のクロックで形成される所定の周期と、
    前記クロック発生手段からの前記クロックの入力を受けて前記クロック毎に前記所定の周期内においてランダムな乱数値を出力する乱数生成装置と、
    遊技者の遊技機への動作が所定の条件を満たしたことを契機に乱数ラッチ信号を出力する乱数ラッチ手段と、
    前記乱数ラッチ信号により前記乱数生成装置から乱数値を取得する乱数取得手段と、
    前記所定の周期内においてp個(pは1<p≦mである正の整数)の乱数取得トリガー信号を発生する乱数取得トリガー信号発生手段と、
    前記乱数取得トリガー信号を契機に前記乱数生成装置が出力する乱数値を監視する乱数異常監視手段と、を備え
    前記乱数取得手段が取得した前記乱数値に基づいて演出制御あるいは当否制御をする遊技機において、
    前記乱数異常監視手段は前記第1の乱数取得トリガー信号を契機に前記乱数生成装置が出力した第1の乱数値を一時記憶し、
    前記乱数異常監視手段は、前記第1の乱数取得トリガー信号に連続して発生した第2の乱数取得トリガー信号を契機に前記乱数生成装置が出力した第2の乱数値を一時記憶し、前記第1の乱数値と前記第2の乱数値とを比較する比較手段を有し、前記比較手段によりt回(tは2以上の正の整数値)の比較がなされ、1回目の比較での前記第1の乱数値が発生する前記所定の周期と、t回目の比較での前記第2の乱数値が発生する前記所定の周期とは異なる所定の周期であり、前記t回の比較の結果が不一致であれば前記乱数生成装置を正常動作と判定することを特徴とする遊技機。
  2. 前記乱数取得トリガー信号発生手段は前記クロック発生手段から出力されるクロックが入力される毎に1つずつカウント値が増加する乱数値監視用カウンタを含んで構成され、前記乱数値監視用カウンタの出力信号と前記乱数生成装置から出力される乱数値が演算回路に入力され、前記演算回路の出力を前記乱数ラッチ信号により前記乱数取得手段が取得することを特徴とする請求項1に記載の遊技機。
  3. 前記乱数取得トリガー信号発生手段は、前記クロック発生回路から出力されるクロックが入力される毎に数値が1つずつ増加する乱数値監視用カウンタを含んで構成され、前記乱数値監視用カウンタはs(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数)の2進数表現に相当するカウンタ値になったことを検出する手段を有し、前記検出手段により検出の結果を受けて、前記乱数値監視用カウンタをリセットするとともに、前記所定の周期においてp個の前記乱数取得トリガー信号を出力することを特徴とする請求項1または2に記載の遊技機。
  4. 前記乱数取得トリガー信号発生手段は、前記クロック発生回路から出力されるクロックが入力される毎に数値が1つずつ増加する前記乱数値監視用カウンタと、比較回路1とで構成され、
    前記比較回路1は第1から第(p+1)の比較入力端子と、トリガー信号入力端子とを備え、
    前記乱数値監視用カウンタの出力が第1の比較入力端子に入力され、1×s(nは(2のn乗)=mを満足する正の整数、qは(m÷p)の商で小数点以下を切り捨てた正の整数、rは(2のr乗)≦qを満足する正の整数、sはrの中で最大の正の整数)からp×sまでのp個の2進数が第2〜第(p+1)の比較入力端子に入力されることで、前記所定の周期においてp個の前記乱数取得トリガー信号を出力することを特徴とする請求項1または2に記載の遊技機。
  5. 前記乱数異常監視手段は、
    バッファAと、
    バッファBと、
    前記乱数取得トリガー信号が入力されることで動作する選択回路と、
    前記乱数取得トリガー信号と前記クロック発生回路のクロックとの論理積がトリガー信号として入力されることで動作する比較回路2と、を備え
    前記乱数取得トリガー信号が入力される毎に前記選択回路は前記乱数生成装置から出力される乱数値を前記バッファAと前記バッファBとを交互に選択して出力し、
    前記乱数取得トリガー信号が入力される毎に前記比較回路2は前記バッファAと前記バッファBに入力された情報を比較することで、第1の前記乱数取得トリガー信号による第1の乱数値と、第2の前記乱数取得トリガー信号による第2の乱数値とを比較することを特徴とする請求項1〜4のいずれかに記載の遊技機。
  6. 前記クロック発生手段から出力されるクロック信号は、前記乱数生成装置に入力されるクロックに対して、前記乱数取得トリガー信号発生手段に入力されるクロックはクロック発生周期よりも小さい時間遅れて入力されることを特徴とする請求項1〜5のいずれかに記載の遊技機。
JP2010185528A 2010-01-05 2010-08-20 遊技機 Pending JP2011156343A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010185528A JP2011156343A (ja) 2010-01-05 2010-08-20 遊技機

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010000776 2010-01-05
JP2010000776 2010-01-05
JP2010185528A JP2011156343A (ja) 2010-01-05 2010-08-20 遊技機

Publications (1)

Publication Number Publication Date
JP2011156343A true JP2011156343A (ja) 2011-08-18

Family

ID=44588847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010185528A Pending JP2011156343A (ja) 2010-01-05 2010-08-20 遊技機

Country Status (1)

Country Link
JP (1) JP2011156343A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016067683A (ja) * 2014-09-30 2016-05-09 株式会社サンセイアールアンドディ 遊技機
JP2021023373A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023377A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023378A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023376A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003190483A (ja) * 2001-10-19 2003-07-08 Samii Kk 弾球遊技機
JP2004097577A (ja) * 2002-09-10 2004-04-02 Sankyo Kk 遊技機
JP2005168562A (ja) * 2003-12-08 2005-06-30 Samii Kk 弾球遊技機におけるハード乱数監視装置
JP2007325662A (ja) * 2006-06-06 2007-12-20 Fujishoji Co Ltd 遊技機
JP2008245956A (ja) * 2007-03-30 2008-10-16 Heiwa Corp ハード乱数発生回路のエラー検出方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003190483A (ja) * 2001-10-19 2003-07-08 Samii Kk 弾球遊技機
JP2004097577A (ja) * 2002-09-10 2004-04-02 Sankyo Kk 遊技機
JP2005168562A (ja) * 2003-12-08 2005-06-30 Samii Kk 弾球遊技機におけるハード乱数監視装置
JP2007325662A (ja) * 2006-06-06 2007-12-20 Fujishoji Co Ltd 遊技機
JP2008245956A (ja) * 2007-03-30 2008-10-16 Heiwa Corp ハード乱数発生回路のエラー検出方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016067683A (ja) * 2014-09-30 2016-05-09 株式会社サンセイアールアンドディ 遊技機
JP2021023373A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023377A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023378A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2021023376A (ja) * 2019-07-31 2021-02-22 株式会社ユニバーサルエンターテインメント 遊技機

Similar Documents

Publication Publication Date Title
JP5088763B2 (ja) 遊技機
JP2011139885A (ja) 遊技機
JP2020006205A (ja) 遊技機
JP2011156343A (ja) 遊技機
JP2018079188A (ja) 遊技機
JP5088765B2 (ja) 遊技機
JP2009291258A (ja) 遊技台
JP5360005B2 (ja) 遊技台
JP5088764B2 (ja) 遊技機
JPH11276700A (ja) 遊技機
JP2018079196A (ja) 遊技機
JP2018079189A (ja) 遊技機
JP2021029575A (ja) 遊技機
JP2020054508A (ja) 遊技機
JP5674073B2 (ja) 遊技機
JP6806380B2 (ja) 遊技機
JP6806381B2 (ja) 遊技機
JP2011200455A (ja) 遊技機
JP2018079200A (ja) 遊技機
JP2018079198A (ja) 遊技機
JP2006239287A (ja) 遊技機
JP5674074B2 (ja) 遊技機
JP4587440B2 (ja) 遊技機
JP2020103735A (ja) 遊技機
JP2020103733A (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140221