以下、本発明に係る遊技機の実施形態として、当該乱数監視装置が搭載され遊技場等に設置されるスロットマシンを例に図1乃至図9を参照して説明する。なお、図1は上記スロットマシン100の外部構造を表した平面図、図2はスロットマシン100の内部構造を表した平面図、図3はスロットマシン100に設けられている制御システムの構成を表したブロック図で、図4はスロットマシン100において図柄抽選及び演出パターン抽選の制御の概略を表したブロック図で、図5はスロットマシン100において乱数の発生および監視に係る部分を示したブロック図で、図6はスロットマシン100における乱数発生装置を示す回路図で、図7はスロットマシン100における図柄抽選用乱数の取得及び利用の手順における乱数取得処理の一部を示した図で、図8はスロットマシン100における図柄抽選用乱数の取得及び利用の手順における乱数取得処理の一部を示した図で、そして、図9は乱数取得処理における乱数監視サブルーチンの実行手順を示した図である。
図1に示すように、本スロットマシン100は、遊技者に面するフロントドア101と、フロントドア101が開閉可能に取り付けられた、後述の筐体102とを備えて構成されている。フロントドア101は、上部パネル部103と中部パネル部104と下部パネル部105とを備え、全体的に金属製のフレーム(図示略)と硬質プラスチックで成形された前面パネルとで形成されることによって、機械的に強固な構造を有している。
上部パネル部103には、上部ランプと呼ばれる演出用ランプ103aと、スピーカが取り付けられた放音部103b,103cと、カラー画像を表示する液晶ディスプレイ等で形成され遊技者が目視可能な演出表示装置103dとが設けられている。この演出表示装置103dは、遊技中の演出を行うときに、各種の画像表示を行うものである。
中部パネル部104には、複数個(本実施形態では3個)のモータ駆動により回転可能な回胴リールR1,R2,R3を備えた回胴リール装置200が設けられるとともに、回胴リール装置200の側方に演出用ランプ104a,104bが設けられている。なお、回胴リールR1,R2,R3の前方には、透明な硬質プラスチック板で形成された略長方形の透過窓WDが設けられ、これによって回胴リール装置200を外部から保護するとともに、遊技者が透過窓WDを介して回胴リールR1,R2,R3を見ることが可能となっている。
なお、回胴リールR1,R2,R3はリング状であり、その外周面には複数の入賞図柄(入賞役を構成する図柄)を印刷したテープリールが貼られている。各リールR1,R2,R3には、所定個数(例えば21個)の複数種類の図柄が等間隔で配列されており、各リールR1,R2,R3ごとに異なった図柄配列がなされている。
また、中部パネル部104上であって回胴リール装置200の下方には、遊技者の獲得したメダル数をデジタル表示したりするほか、遊技動作や機械動作に異常が生じたときはエラーコードをデジタル表示する獲得枚数表示部(エラー表示部)104cが設けられている。このエラー表示部104cにエラーコードが表示されたときは、遊技機は遊技不可の状態となり、この状態は各異常動作に応じたエラーの解除方法が施されるまで継続する。
さらに、中部パネル部104の下端には遊技者が操作するための操作部104dが設けられ、当該操作部104dには、遊技用メダルを投入するためのメダル投入部MDと、1ゲーム当たりのメダル数を提示するためのベットボタンB1,B2,B3と、1ゲームの開始を指示するためのスタートレバーSTと、回転中の回胴リールR1,R2,R3を個別に停止させるための3個のストップボタンSP1,SP2,SP3が設けられている。
下部パネル部105には、本スロットマシン100のゲーム内容に関連した画像等(図示略)が描かれており、遊技者の獲得したメダルを払い出すための排出口105a及び受皿105bと、スピーカが取り付けられた放音部105cが設けられている。
なお、各遊技中には、種々の演出、例えば演出用ランプ103a,104a,104bの点灯・点滅や、演出用スピーカSR,SL,SWからの放音、演出表示装置103dによる画像表示等が行われる。さらに、演出の中には、役の当選可能性の告知演出が含まれる。
次に、図2を参照して、フロントドア101の裏面構造と、筐体102の内部構造を概説する。なお、図2はフロントドア101を開錠して筐体102から開いた状態を表している。
同図において、フロントドア101の裏面上部に、上述の放音部103b,103cを構成するスピーカSR,SLが設けられ、スピーカSR,SLの間に演出表示装置103dが設けられるとともに、演出表示装置103dの裏面側にサブ制御基板300が取り付けられている。演出表示装置103d及びサブ制御基板300の下方には、上述の透過窓WDと中部パネル部104のパネル面とが形成された略長方形の枠体104dが取り付けられている。
また、枠体104dの下方には、メダル投入部MDより投入される投入物を正規の遊技用メダルか異物か判別して振り分ける振分機構G0と、振分機構G0で振り分けられた遊技用メダルを筐体102側に設けられているホッパ装置HPへ案内するガイド部材G1と、振分機構G0で振り分けられた異物を排出口105aへ案内して排出するガイド部材G2と、ホッパ装置HPから出力される払い出し用のメダルを排出口105aへ案内して出力するガイド部材G3が設けられ、排出口105aの近傍に、スピーカSWが放音部105cに対応させて取り付けられている。
さらに、上述の枠体104dと振分機構G0との間の領域に長尺状の中央表示基板400が取り付けられ、当該中央表示基板400の裏面側の一端に、設定ボタンCSと、数字の0から6までのセグメント表示を行う発光ダイオードで形成された設定表示素子CTが設けられている。
筐体102内には、主電源装置PWUと、ホッパ装置HPから溢れた遊技用メダルを収容するための補助貯留部SHPと、上述の透過窓WDに対向する回胴リールR1,R2,R3を備えた回胴リール装置200が設けられるほか、主電源装置PWUの側面に電源装置基板500、回胴リール装置200の上端に回胴装置基板600、回胴リール装置200の上方に主基板700、筐体102の内壁の一端に外部集中端子装置としての外部集中端子基板800が各々取り付けられている。
ここで、上述の主基板700と、サブ制御基板300、回胴装置基板600、中央表示基板400、電源装置基板500及び外部集中端子基板800は、何れも導電性配線パターンの形成された絶縁性樹脂基板上に集積回路装置(IC)やトランジスタ、抵抗、コンデンサ等の電子部品が搭載されて配線接続されたいわゆる電気回路基板として形成され、特に、主基板700とサブ制御基板300と外部集中端子基板800は、各々硬質プラスチックの収納ケース内に個別に収納されたユニット構造となっている。
さらに、図3のブロック図を参照して制御システムの構成を述べると、主基板700は後述するように、スロットマシン100の動作全体を管理するシステムプログラム及びスロットマシンゲーム用の実行プログラムが予め記憶されている半導体メモリ等で形成された記憶部およびこれらのプログラムを実行するマイクロプロセッサ(以下、「CPU」という。)からなるメインコントロール部730と、乱数値の発生に係る乱数発生装置750とを有し、上述のCPUに設けられている入力ポート及び出力ポートと残余の基板300,600,400,500,800との間が配線ケーブルによって配線接続されている。
また、演出用スピーカSR,SL,SWと演出用ランプ103a,104a,104bと演出表示装置103dが配線ケーブルを介してサブ基板300に配線接続され、主基板700中のCPUから供給される演出制御信号に従って、サブ基板300に設けられている電気回路がこれら演出用スピーカSR,SL,SWと演出用ランプ103a,104a,104bと演出表示装置103dとを駆動することにより、遊技者の視覚と聴覚に訴える演出を行う。
回胴装置基板600は、電動モータによって回転駆動される回胴リールR1,R2,R3を備えた回胴リール装置200が配線接続されており、主基板700中のCPUから供給されるリール制御信号に従って、上述の電動モータを制御することにより、回胴リールR1,R2,R3の回転と制動及び停止の制御を行う。
中央表示基板400には、振分機構G0、ベットボタンB1,B2,B3、スタートレバーST、ストップボタンSP1,SP2,SP3、設定表示素子CT、及び設定ボタンCSが配線接続されており、振分機構G0から出力されるメダル検出信号、スタートレバーSTから出力されるスタート信号、ベットボタンB1,B2,B3及びストップボタンSP1,SP2,SP3からそれぞれ出力されるオン・オフ信号を主基板700中のCPUへ転送するとともに、CPUから供給されるセグメント表示信号に基いて、設定表示素子CTに0から6までの数字を表示させる。
電源装置基板500には、設定スイッチBO、電源スイッチBQ、ホッパ装置HP、電源装置PWUが配線接続され、設定スイッチBOと電源スイッチBQからそれぞれ出力されるオン・オフ信号を主基板700中のCPUへ転送する。さらに、電源装置基板500には、電源装置PWUで発生される各種電源電圧をホッパ装置HPその他の各所に配電する配電回路が形成されており、かかる配電回路からスロットマシン100の動作に必要な電源供給が行われている。
主基板700上の乱数監視装置710は、スロットマシン100の制御を制御プログラムに従って実行するメインコントロール部730と、主基板700の制御とは無関係に乱数を発生させる乱数発生装置750とから構成される(図5参照)。メインコントロール部730にはCPU732、ROM733、RAM734が設けられており、CPU732が実行すべき制御プログラム及び制御の過程で必要なデータはROM733に記載されている。
次に図4を合わせて参照して、スロットマシン100における図柄抽選及び演出パターン抽選の制御の概略について説明する。主基板700上のCPU732は、役抽選手段B34、図柄抽選手段B35および演出パターン抽選手段B36を有している。主基板700は、スタートレバーSTのスタート信号を検出すると、図示しないモータを駆動させて各回胴リールR1,R2,R3を回転させるとともに、役抽選手段B34および演出パターン抽選手段B36により、後述する乱数発生装置750から順次発生する乱数のうちの1つの乱数値をそれぞれ取得することで、役の抽選および役の抽選結果に基く停止図柄の決定、並びに演出パターンの抽選が行われる。
役抽選手段B34は、特別役、小役、リプレイ等の役の抽選を行うためのものである。ここで、特別役とは、通常ゲームとは異なるゲームであって遊技者に有利な特別ゲームに移行させるための役である。また、小役とは、所定枚数のメダルを遊技者に払い出す役であり、複数種類設けられている。さらに、リプレイとは、前のゲームで投入したメダル枚数を維持した再ゲームを行う権利を遊技者に与える役である。
役の抽選を行うための役抽選データはROM733上の役抽選テーブルB37に記録されている。役抽選テーブルB37は、通常遊技状態用や特別遊技状態(遊技者にとって有利な遊技)用といった遊技状態に応じた抽選テーブルで構成されている。これら通常遊技状態用や特別遊技状態用の各役抽選テーブルB37は、いずれも、特別役当選領域、小役当選領域、リプレイ当選領域、及び非当選(ハズレ)領域等、予め所定の割合に設定された領域を備える。
後述するように乱数発生装置750は、図柄抽選用の乱数(0〜65535の65536個の乱数値)を発生させており、CPU732は、役抽選手段B34が抽出した乱数値と遊技状態に応じた役抽選テーブルB37とを照合することで、その乱数値が属する領域を判定し、その乱数値が属する領域に対応する役を決定する。例えば、抽出した乱数値が特別役当選領域に属する場合は、特別役の当選と判定し、非当選領域に属する場合は、ハズレと判定する。この役抽選テーブルB37に記録された役抽選データにはアドレス番号が付与されており、1つのアドレス番号から1つの役が特定されることとなっている。具体的には、役抽選手段B34は、ゲームの開始時毎に(スタートレバーSTの操作によるスタート信号の入力に応じて)、ROM733において役当選領域が記憶されている役抽選テーブルB37の中から、いずれかの役を抽選によって選択するものである。
また、回動リール装置200に変動表示される図柄を表すための図柄データはROM733上の図柄データテーブルB38に記録されている。この図柄データテーブルB38に記録された個々の図柄データにはアドレス番号が付与されており、1つのアドレス番号から1つの図柄データが特定されることとなっている。具体的には、上述のように役抽選手段B34により役の抽選が行われると、ROM733において図柄グループが記憶されている図柄データテーブルB38の中から、図柄抽選手段B35により、当選役に応じたいずれかの図柄グループを選択するものである。具体的には、乱数発生装置750により発生した65536個の乱数値の中から抽選した図柄抽選用の乱数値と図柄データテーブルB38とを照合して停止図柄が選択される。そして、主基板700が、各回胴リールR1,R2,R3の回転をそれぞれ停止させるストップボタンSP1,SP2,SP3のオン信号を検出すると、図柄抽選手段B35による図柄停止位置の抽選結果に基く所定の図柄が表示されるようにモータを制御して回胴リールR1,R2,R3上をそれぞれ停止させる。
同様に、演出パターン抽選手段B36は、ROM733において数十種類の演出パターンが記憶されている演出パターンデータテーブルB39の中から、いずれかの演出パターンを抽選によって選択するものである。乱数発生装置750は、演出パターン抽選用の乱数(0〜65535の65536個の乱数値)を発生させており、65536個の中から抽選した乱数値と演出パターンデータテーブルB39とを照合して演出パターンが選択され、各演出パターンに定められている演出を行う。このような演出として、回胴リールR1,R2,R3の始動時、ストップボタンST1,ST2,ST3の受付時、及び全回胴リールR1,R2,R3の停止時に、演出用ランプ103a,104a,104bの点灯・点滅や、演出用スピーカSR,SL,SWからの放音、演出表示装置103dによる画像表示等がある。
次に、主基板700内に設けられた乱数監視装置710について、主基板700内のメインコントロール部730とともに、図5及び図6を参照しつつ説明する。
入力回路部B40は、主基板700外からの入力情報及び主基板700内に設けられた乱数発生部750により発生した乱数、さらには、後述するオーバーフロー信号等が入力される部分で、バッファ用のIC等により構成される。具体的には、入力回路部B40は、遊技者によるスタートレバーSTの操作により出力されるスタート信号に応じて中央表示基板400上の回胴回転始動装置センサB11から出力されるトリガ信号が入力されるセンサ入力部、及び後述する乱数発生装置750によって発生された乱数の16ビット分が入力される乱数読込部等が設けられて構成されている。
また、乱数発生装置750は、乱数として供されるカウント値を生成するものであり、具体的には、第1及び第2乱数クロック発生回路B51,B52、第1及び第2乱数クロック反転回路B61,B62、第1及び第2ラッチ信号出力回路B71,B72、第1〜第4クロックカウント回路B81,B82,B83,B84、第1〜第4カウント値記憶回路B91,B92,B93,B94および第1及び第2オーバーフロー信号出力回路B95,B96により構成される。
第1乱数クロック発生回路B51(OSC1)は、図柄抽選用乱数を発生させるためのもので、また、第2乱数クロック発生回路B52(OSC2)は、演出パターン抽選用乱数を発生させるためのものである。これら第1および乱数クロック発生回路B51,B52は、ともに乱数カウント用のクロックを発生させており、発生した乱数クロックを出力する乱数クロック出力部をいずれも備えている。そして、第1乱数クロック発生回路B51は所定の周波数(例えば、7.15909MHz)のクロックを、第2乱数クロック発生回路B52もまた所定の周波数(例えば、6MHz)のクロックを発生する各々の水晶発振器により構成される。
NOTゲート等のICから構成される第1乱数クロック反転回路B61(IC22)は、上記第2乱数クロック発生回路B52から出力される乱数クロックを反転させ、これを反転クロックとして、後述する第1ラッチ信号出力回路B71(IC34)へ出力するものである。同様に、第2乱数クロック反転回路B62(IC23)は、第1乱数クロック発生回路B51から出力される乱数クロックを反転させ、これを反転クロックとして、後述する第2ラッチ信号出力回路B72(IC35)へ出力するものである。
第1〜第4クロックカウント回路B81,B82,B83,B84は、乱数クロックと反転させた乱数クロックとを入力する乱数クロック入力部(それぞれCCK,RCKで示す)と、計数した乱数値をCPU732に出力するための読み込み信号が入力される読み込み信号入力部(G)と、当該読み込み信号に応じて計数した乱数値がCPU732に向けて出力されるカウント出力部(QA〜QH)と、計数した乱数値をリセットするリセット信号入力部(CCLR)と、桁上がり信号を出力する桁上がり信号出力部(RCO)とをそれぞれ備えている。具体的には、図6に示すように、8ビットのインクリメントカウンタ2個からなる2組(IC38とIC39とからなるもの、並びにIC32とIC36とからなるもの)のカウンタ回路を接続した回路から構成される。
これらクロックカウント回路のうち、第1クロックカウント回路B81(IC38)、第2クロックカウント回路B82(IC39)には、乱数クロック入力部(CCK)を経て第1乱数クロック発生回路B51からの乱数クロックが入力される。また、第3クロックカウント回路B83(IC32)、第4クロックカウント回路B84(IC36)には、乱数クロック入力部(CCK)を経て第2乱数クロック発生回路B52からの乱数クロックが入力される。
第1乱数クロック発生回路B51からの乱数クロックの入力により、まず、IC38において、8桁分の値(例えば、「00000001」や「00000011」)がカウントされる。そして、「11111111」までの256個の乱数値がカウントされて、8桁分の値のカウントが終わると、その都度、桁上がり信号がIC38のRCO端子からIC39のCCKEN端子へ出力される。第2クロックカウント回路B82がカウントを開始するには、第1クロックカウント回路B81からの当該桁上がり信号の入力が必要であり、IC39においては、この桁上がり信号と第1乱数クロック発生回路B51からの乱数クロックとが同時に入力されて始めて8桁分の値のカウントが開始される。
同様に、第2乱数クロック発生回路B52からの乱数クロックの入力により、まずIC32において、8桁分の値(例えば、「00000001」や「00000011」)がカウントされる。そして、「11111111」までの256個の乱数値がカウントされて、8桁分の値のカウントが終わると、その都度、桁上がり信号がIC32のRCO端子からIC36のCCKEN端子へ出力される。第4クロックカウント回路B84がカウントを開始するには、第3クロックカウント回路B83からの当該桁上がり信号の入力が必要であり、IC36においては、この桁上がり信号と第2乱数クロック発生回路B52からの乱数クロックとが同時に入力されて始めて8桁分の値のカウントが開始される。
このようにして、クロックカウント回路B81〜B84のうち、第1クロックカウント回路B81と第2クロックカウント回路B82とで、また、第3クロックカウント回路B83と第4クロックカウント回路B84とで、各々16ビットの2進数(65536個の乱数値)がそれぞれ生成されることとなっている。すなわち、16桁の2進数のうち、IC38が下位の4桁、IC39がその上位の4桁、また、IC32が下位の4桁、IC36がその上位の4桁をそれぞれ担当している。
上記4つのクロックカウント回路により加算されているカウントは、図柄抽選用乱数を一時的に記憶するための第1カウント値記憶回路B91(図6では、第1クロックカウント回路B81と同じIC38で示す。)及び第2カウント値記憶回路B92(図6では、第2クロックカウント回路B82と同じIC39で示す。)、また、演出パターン抽選用乱数を一時的に記憶するための第3カウント値記憶回路B93(図6では、第3クロックカウント回路B83と同じIC32示す。)及び第4カウント値記憶回路B94(図6では、第4クロックカウント回路B84と同じIC36で示す。)へそれぞれ出力されて記憶される。
なお、本実施の形態では、クロックカウント回路として加算式のインクリメントカウンタを使用しているが、他の実施の形態では、減算式のデクリメントカウンタを使用することとしてもよい。また、本実施の形態においては16ビットの乱数(8ビット×2)を生成することとしているが、他の実施の形態においては、このビット数は16ビットに限らず適宜変更することとしてもよい。
ラッチ信号出力回路は、演出パターン抽選用乱数の取得に係る第1ラッチ信号出力回路B71と、図柄抽選用乱数の取得に係る第2ラッチ信号出力回路B72とを有して構成されている。
第1ラッチ信号出力回路B71(IC34)には、前記第1乱数クロック反転回路B61(IC22)からの反転クロックが反転クロック入力部(CK)を経て入力される。また、遊技者によるスタートレバーSTの操作により出力されるスタート信号に応じて出力される回胴回転始動装置センサB11からのトリガ信号が始動信号入力部(D)を経て入力される。そして、第1ラッチ信号出力回路B71は、この始動信号入力部(D)を経てトリガ信号(ハイ信号)が入力されたときは、この信号の立ち上がりエッジを、第1反転クロック入力部(CK)から入力される反転クロックの立ち上がりエッジと同期するように遅延させて、ラッチ信号としてラッチ信号出力部(Q)を経て第3カウント値記憶回路B93及び第4カウント値記憶回路B94へ出力する。
一方、第2ラッチ信号出力回路B72には、前記第2乱数クロック反転回路B62からの反転クロックが反転クロック入力部(CK)を経て入力される。また、遊技者によるスタートレバーSTの操作により出力されるスタート信号に応じて出力される回胴回転始動装置センサB11からのトリガ信号が始動信号入力部(D)を経て入力される。そして、第2ラッチ信号出力回路B72は、この始動信号入力部(D)を経てトリガ信号(ハイ信号)が入力されたときは、この信号の立ち上がりエッジを、反転クロック入力部(CK)から入力される反転クロックの立ち上がりエッジと同期するように遅延させて、ラッチ信号としてラッチ信号出力部(Q)を経て第1カウント値記憶回路B91及び第2カウント値記憶回路B92へ出力する。
ここで、上記のトリガ信号は、後述するように入出力回路部B40を介してメインコントロール部730にも入力され、乱数取得のために実行される後述するプログラムを開始させるタイミングとしても用いられることとなっている。
第1カウント値記憶回路B91には、第1クロックカウント回路B81によりカウントされた2進数の乱数値のうち下4桁が、第2カウント値記憶回路B92には、第2クロックカウント回路B82によりカウントされた2進数の乱数値のうち上4桁が入力される。同様に、第3カウント値記憶回路B93には、第3クロックカウント回路B83によりカウントされた2進数の乱数値のうち下4桁が、第4カウント値記憶回路B94には、第4クロックカウント回路B84によりカウントされた2進数の乱数値のうち上4桁が入力される。
そして、第1カウント値記憶回路B91は、第1クロックカウント回路B81によりカウントされた乱数値のうち1つを、回胴回転始動装置センサB11から第2ラッチ信号出力回路B72への入力信号がロー信号からハイ信号の側に切り替わったときに(回胴回転始動装置センサB11からのトリガ信号を受けて第2ラッチ信号出力回路B72からラッチ信号が出力されたときに)記憶する。そして、後述するように、メインコントロール部730において乱数の取得のために実行されるプログラムに基いてメインコントロール部730から出力され、読み込み信号入力部(G)に入力される読込信号に応じて、第1カウント値記憶回路B91に記憶された1つの乱数値(16桁の乱数のうち下位8桁分)がCPU732へ出力される。
また同様に、第2カウント値記憶回路B92は、第2クロックカウント回路B82によりカウントされた乱数値のうち1つを、回胴回転始動装置センサB11から第2ラッチ信号出力回路B72への入力信号がロー信号からハイ信号の側に切り替わったときに(回胴回転始動装置センサB11からのトリガ信号を受けて第2ラッチ信号出力回路B72からラッチ信号が出力されたときに)記憶する。そして、上記プログラムに基いてメインコントロール部730から出力され、読み込み信号入力部(G)に入力される読込信号に応じて、第2カウント値記憶回路B92に記憶された1つの乱数値(16桁の乱数のうち上位8桁分)がCPU732へ出力される。
さらに、第3カウント値記憶回路B93は、第3クロックカウント回路B83によりカウントされた乱数値のうち1つを、回胴回転始動装置センサB11から第1ラッチ信号出力回路B71への入力信号がロー信号からハイ信号の側に切り替わったときに(回胴回転始動装置センサB11からのトリガ信号を受けて第1ラッチ信号出力回路B71からラッチ信号が出力されたときに)記憶する。そして、上記プログラムに基いてメインコントロール部730から出力され、読み込み信号入力部(G)に入力される読込信号に応じて、第3カウント値記憶回路B93に記憶された1つの乱数値(16桁の乱数のうち下位8桁分)がCPU732へ出力される。
同様に、第4カウント値記憶回路B94は、第4クロックカウント回路B84によりカウントされた乱数値のうち1つを、回胴回転始動装置センサB11から第1ラッチ信号出力回路B71への入力信号がロー信号からハイ信号の側に切り替わったときに(回胴回転始動装置センサB11からのトリガ信号を受けて第1ラッチ信号出力回路B71からラッチ信号が出力されたときに)記憶する。そして、上記プログラムに基いてメインコントロール部730から出力され、読み込み信号入力部(G)に入力される読込信号に応じて、第4カウント値記憶回路B94に記憶された1つの乱数値(16桁の乱数のうち下位8桁分)がCPU732へ出力される。
また、第2クロックカウント回路B82(IC39)において、8ビット分の乱数値のカウントが終了する毎に(「00000000」から「11111111」までの256個全てのカウントが終了して全ビットの値が「1」になる毎に)、第2クロックカウント回路B82からのカウント信号(例えばハイ信号)がIC39のRCO端子から第1オーバーフロー信号出力回路B95(IC40)へ出力される。このカウント信号は、乱数発生装置750が正常に動作を行っている場合には、再び第1クロックカウント回路B81がカウントを開始すると(再び「00000000」からのカウントが開始されると)、再びロー信号に切り換わる。
一方、第1乱数クロック発生回路B51に何らかの不具合が発生した場合には、第1クロックカウント回路B81もしくは第2クロックカウント回路B82のうち何れかにおいて正常に乱数値のカウントアップがなされず(「11111111」までの256個全てのカウントが行われず)、IC39のRCO端子から第1オーバーフロー信号出力回路B95(IC40)へ向けて出力されるカウント信号は、常にロー信号のままである。
同様に、第4クロックカウント回路B84(IC36)において、8ビット分の乱数値のカウントが終了する毎に(「00000000」から「11111111」までの256個の全てのカウントが終了して全ビットの値が「1」になる毎に)、第4クロックカウント回路B84からのカウント信号(例えばハイ信号)がIC36のRCO端子から第2オーバーフロー信号出力回路B96(IC41)へ出力される。このカウント信号は、乱数発生装置750が正常に動作を行っている場合には、再び第3クロックカウント回路B83が乱数値のカウントを開始すると(再び「00000000」からのカウントが開始されると)、再びロー信号に切り換わる。
一方、第2乱数クロック発生回路B52に何らかの不具合が発生した場合には、第3クロックカウント回路B83もしくは第4クロックカウント回路B84のうち何れかにおいて正常に乱数値のカウントアップがなされず、(「11111111」までの256個全てのカウントが行われず)、IC39のRCO端子から第2オーバーフロー信号出力回路B96(IC41)へ向けて出力されるカウント信号は、常にロー信号のままである。
第1および第2オーバーフロー信号出力回路B95,B96は、それぞれクロックカウント回路B82,B84からのハイ信号としてのカウント信号が入力されるとCPU732に向けてハイ信号としてのオーバーフロー信号を出力する。
そして、CPU732は、遊技者によるスタートレバーSTの操作により出力されるスタート信号に応じて出力される回胴回転始動装置センサB11からのトリガ信号が入力される毎にオーバーフロー信号を監視し、第1および第2オーバーフロー信号出力回路B95,B96からの当該オーバーフロー信号がいずれもハイ信号であることを検出すると、第1および第2乱数クロック発生回路B51,B52はいずれも正常に動作を行っているものと判断し、第1および第2オーバーフロー信号出力回路B95,B96に向けて制御信号を出力して、第1および第2オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号をロー信号にリセットする。
一方、CPU732は第1もしくは第2オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号のうち、いずれかがロー信号のままであることを検出すると、第1および第2乱数クロック発生回路B51,B52のうちのいずれかが異常動作を起こしているものと判断する。
このように、第2クロックカウント回路B82および第4クロックカウント回路B84からのカウント信号を介して第1および第2オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号(ロー・ハイ信号)を、スタートレバーSTの操作を契機としてCPU732が監視することで、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちどちらかに異常動作が発生したか否かを判断することができる。
次に、実際の遊技における乱数の取得及び利用するために実行されるプログラムについて、図7乃至図9のフローチャートを参照しつつ説明する。なお、図7および図8に示すフローチャートは、丸囲み1の部分同士が繋がって1つのフローチャートを構成している。
スロットマシン100の電源が投入されると、必要なパラメータの初期化等が行われた後、図7乃至図9に示すフローチャートに従って遊技の処理が実行される。まず、図7に示す乱数取得処理におけるステップS100において、遊技者によるスタートレバーSTのオン操作によるスタート信号(例えばハイ信号)を回胴回転始動装置センサB11が検出して、メインコントロール部730の入出力回路部B40にトリガ信号を出力する。
トリガ信号の出力が検出されると、続くステップS300において、乱数監視処理サブルーチンが実行される。そこで、以下図9を参照して、CPU732において実行されるハードウェア乱数監視サブルーチンについて説明する。このハードウェア乱数監視サブルーチンは、第2クロックカウント回路B82および第4クロックカウント回路B84のRCO端子からそれぞれ出力されるカウント信号を介して、第1および第2オーバーフロー信号出力回路B95,B96からそれぞれ出力されるオーバーフロー信号をCPU732が監視し(このオーバーフロー信号が、ハイ信号であるか、それともロー信号であるか)、乱数クロック発生回路B51,B52のうちいずれかに異常動作が発生したときに、その故障を判断するために実行されるものである。
このサブルーチンにおいては、遊技者によるスタートレバーSTの操作により回動回転始動装置センサB11を介してトリガ信号が出力される毎に(例えば、約4.1s毎に)、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96からのオーバーフロー信号がハイ信号としてそれぞれCPU732に出力されているか否かが検出される。
上述したように、第1乱数クロック発生回路B51及び第2乱数クロック発生回路B52により、それぞれ7.15909MHz、6MHzの乱数クロックが発生する。そして、クロックカウント回路B81〜B84が16ビットの乱数を65536個カウントし、第1オーバーフロー信号出力回路B95もしくは第2オーバーフロー信号出力回路B96を介してオーバーフロー信号がCPU732に出力される周期は10ms以下のオーダー(これは以下のように、概算される。すなわち、各乱数クロック発生回路B51,B52による乱数クロック発生周期、約0.15μs,0.16μsに、正常に動作するクロックカウント回路B81〜B84がカウントアップする16ビットの乱数値の個数(65536個)を乗じれば、カウント信号の発生周期(ハイ信号としてのオーバーフロー信号の発生周期でもある)を算出することができる。)である。そして、乱数クロック発生回路B51,B52がいずれも正常に動作していれば、この10ms以下のオーダーの周期でハイ信号としてのオーバーフロー信号が必ず出力される。このため、本発明のように、10msよりも長い、スタートレバーSTの操作によりトリガ信号が出力される毎に(例えば、4.1s毎に)、CPU732がオーバーフロー信号を監視すれば、乱数クロック発生回路B51,B52が正常に動作しているか否かを検出することができる。
図9に示すように、上記のような周期毎に乱数監視サブルーチンが実行されると、ステップS310において、CPU732から第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96に向けてそれぞれ制御信号が出力され、第1および第2オーバーフロー信号出力回路B95,B96からのオーバーフロー信号が、メインコントロール部730にそれぞれ読み込まれる。
そして、続くステップS320にて、CPU732による次の監視周期に対する準備としてオーバーフロー信号出力回路B95,B96の初期化が行われる。このオーバーフロー信号出力回路B95,B96の初期化は、第1および第2オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号がハイ信号であるかロー信号であるかに拘らず、スタートレバーSTの操作によるトリガ信号の入力を契機とするオーバーフロー信号の読み込み毎に行われる。このように、本発明においては、ハードウェア的にオーバーフロー信号出力回路B95,B96の初期化が行われ、ソフトウェアによるオーバーフロー信号出力回路B95,B96の初期化処理を不要とし、ソフトウェアの負担を軽減させることが可能になっている。
また、ステップS320においては、CPU732から第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96に向けてそれぞれ出力される制御信号により、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されていたハイ信号としてのオーバーフロー信号がロー信号にリセットされる。このように、CPU732からの制御により、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96からのオーバーフロー信号をロー信号に変更することで、CPU732による次の監視周期(次にスタートレバーSTが操作されてトリガ信号が出力されたとき)に対する準備となる。
すなわち、次の監視周期において、乱数クロック発生回路B51,B52がいずれも正常な動作を行っているならば再びハイ信号としてのオーバーフロー信号が第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力され、第1乱数クロック発生回路B51および第2乱数クロック発生回路B52のうちのどちらかが不具合を生じているならば、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96のうちのいずれかからロー信号としてのオーバーフロー信号が常に出力されたままであるので、監視周期毎にクロック発生回路B51,B52の動作チェックが可能となる。
続くステップS330においては、ステップS310においてメインコントロール部730に読み込まれたオーバーフロー信号が、それぞれハイ信号であるか、あるいはロー信号であるかが検出される。このとき、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96のいずれからもハイ信号が出力されていることを検出したときは、乱数クロック発生回路B51,B52がいずれも正常な動作を行っているものと判断され、スロットマシン100の動作は継続される。
一方、ステップS330で、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されるオーバーフロー信号のうち、いずれかががロー信号のままであることをCPU732が検出したときには、第1乱数クロック発生回路B51および第2乱数クロック発生回路B52のうちのいずれかにおいて故障が生じているものと判断される。この場合、ステップS340において、CPU732から出力されるエラーコード表示信号に基いて、中部パネル部104上の獲得枚数表示部(エラー表示部)104cにエラーコードの表示がなされる。そして、ステップS350においてCPU732から出力される制御信号に基いて、スロットマシン100の動作が停止し、遊技不可の状態となる。
上記ステップS330において第1乱数クロック発生回路B51および第2乱数クロック発生回路B52の正常な動作が検出された場合は、これに引き続いて乱数取得処理のステップS110に移行する(図7参照)。ステップS110においては、入出力回路部B40から、16ビットの乱数のうち下位8ビット分を読み込むための読込信号が出力される。そして、その下位8ビット分の読込信号が、第1カウント値記憶回路B91の読込信号入力部(IC38のG)に入力される。そして、第1カウント値記憶回路B91に記憶されたカウント値が、出力部(QA〜QH)から出力されて、ステップS120へ進む。
ステップS120においては、ステップS110で出力されたカウント値は、CPUデータバス(DB0〜DB7)を経由して、入出力回路部B40の下位乱数読込部からメインコントロール部730へ入力されてCPU732に送られる。そして、ステップS130に進む。このステップS130においては、ステップS120で入力されたカウント値は、16ビットの乱数のうちの下位8ビット分として、RAM734に格納される。そして、ステップS140に進む。
続くステップS140においては、入出力回路部B40の読込信号出力部から、16ビットの乱数のうち上位8ビット分を読み込むための読込信号が出力される。そして、その上位8ビット分の読込信号が、第2カウント値記憶回路B92の読込信号入力部(IC39のG)に入力される。そして、第2カウント記憶回路B92に記憶されたカウント値が、乱数出力部(QA〜QH)から出力されて、ステップS150に進む。
ステップS150においては、続くステップS140で出力されたカウント値は、CPUデータバス(DB0〜DB7)を経由して、入出力回路部B40の上位乱数読込部からメインコントロール部730へ入力されてCPU732に送られる。そして、ステップS160に進む。ステップS160においては、ステップS150で入力されたカウント値は、16ビットの乱数のうちの上位8ビット分として、RAM734に格納される。そして、先のステップS130で格納された下位8ビット分と合わせて、図柄を決定するための16ビットの乱数として取り扱われることとなる。そして、図8のステップS170に進む。
図8のステップS170においては、入出力回路部B40の読込信号出力部から、16ビットの乱数のうち下位8ビット分を読み込むための読込信号が出力される。そして、その下位8ビット分の読込信号が、第3カウント値記憶回路B93の読込信号入力部(IC32のG)に入力される。そして、第3カウント値記憶回路B93に記憶されたカウント値が、乱数出力部(QAからQHまで)から出力されて、ステップS180に進む。
ステップS180においては、ステップS170で出力されたカウント値は、CPUデータバス(DB0〜DB7)を経由して、入出力回路部B40の下位乱数読込部からメインコントロール部730へ入力されてCPU732に送られる。そして、ステップS190に進む。ステップS190においては、ステップS180で入力されたカウント値は、16ビットの乱数のうちの下位8ビット分として、RAM734に格納される。そして、ステップS200に進む。
ステップS200においては、入出力回路部B40の読込信号出力部から、16ビットの乱数のうち上位8ビット分を読み込むための読込信号が出力される。そして、その上位8ビット分の読込信号が、第4カウント値記憶回路B94の読込信号入力部(IC36のG)に入力される。そして、第4カウント値記憶回路B94に記憶されたカウント値が、乱数出力部(QA〜QH)から出力されて、ステップS210に進む。
ステップS210においては、ステップS200で出力されたカウント値は、CPUデータバス(DB0〜DB7)を経由して、入出力回路部B40の上位乱数読込部からメインコントロール部730へ入力されてCPU732に送られる。そして、ステップS220に進む。ステップS220においては、ステップS210で入力されたカウント値は、16ビットの乱数のうちの上位8ビット分として、RAM734に格納される。この上位8ビット分の乱数は、先のステップS190で格納された下位8ビット分と合わせて、演出パターンを決定するための16ビットの乱数として取り扱われることとなる。そして、図柄抽選手段B35及び演出パターン抽選手段B36によりそれぞれ抽選された乱数値に従って回動リール装置200における停止図柄や、演出パターンが決定される。
この後、スタートレバーSTが再び操作され、オン信号(例えばハイ信号)を回胴回転始動装置センサB11が検出して、入出力回路部B40にトリガ信号が出力されると(ステップS100)、乱数監視処理サブルーチンが再び実行され、乱数クロック発生回路B51,B52がいずれも正常な動作を行っているものと判断された場合に、スロットマシン100の動作は継続される。
以上説明したように、本発明に係る乱数監視装置を搭載したスロットマシン100に設けられたハードウェア乱数監視プログラムによれば、CPU732が、スロットマシン100の動作中に所定の周期で第2クロックカウント回路B82及び第4クロックカウント回路B84から出力されるカウント信号を介して、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されるオーバーフロー信号を監視している。そして、第1乱数クロック発生回路B51および第2乱数クロック発生回路B52のうちいずれかに異常動作が発生した場合には、このオーバーフロー信号に基いて、CPU732が乱数クロック発生回路B51,B52の異常動作を検出することができる。そして、乱数クロック発生回路B51,B52の異常動作が検出された場合には、その旨を直ちに報知して遊技機の遊技動作を停止させるため、乱数クロック発生回路B51,B52が異常動作を起こしたまま乱数監視装置を搭載するスロットマシン100等が動作し続けるのを防止でき、遊技場側もしくは遊技者側に損害が生じてしまうのを防止することができる。
なお、これまで本発明の好ましい実施形態について説明してきたが、本発明の範囲は上述の実施形態に限定されるものではない。例えば、上記の実施例においては、遊技者によるスタートレバーSTの操作に応じたスタート信号に入力を契機として、所定周期で(10ms以下のオーダーで)出力されるオーバーフロー信号をCPUが監視するように構成されていたが、当該所定周期(約10ms)よりも長い周期で監視すれば乱数クロック発生回路B51,B52の異常動作を検出することが可能であるから、CPUによる監視周期は、上記スタートレバーSTからのスタート信号の入力毎に限られるものではない。すなわち、CPUによる監視周期は、オーバーフロー信号が一度は出力される所定周期(約10ms)よりも長い周期であればよい。
また、上記の実施例では、カウント信号の出力に基いてオーバーフロー信号がロー信号からハイ信号に切り換わるように構成され、ハイ信号が検出されたときに、乱数クロック発生回路B51,B52の正常な動作を判断し、ロー信号が検出されたときは、乱数クロック発生回路B51,B52の異常動作を判断したが、これとは逆に、カウント信号の出力に基いてハイ信号からロー信号に切り換わるように構成して、ロー信号が検出されたときに、乱数クロック発生回路B51,B52の正常な動作を判断し、ハイ信号が検出されたときは、乱数クロック発生回路B51,B52の異常動作を判断するようにしてもよい。
また、クロックカウント回路B82,B84からそれぞれ出力されるカウント信号は、「00000000」から「11111111」までの全てのカウントが終了する毎に、それぞれの桁上がり信号出力部(RCO端子)からオーバーフロー信号出力回路B95,B96へ出力されるように構成されていたが、例えば、クロックカウント回路B82,B84のカウント出力部QDとQEとの間にカウント信号出力端子をそれぞれ設け、当該カウント信号出力端子からカウント信号が出力するように構成してもよい。このような構成によれば、「00000000」から「11110000」までのカウントが行われる毎に、カウント信号が監視信号出力手段に出力され、監視信号検出手段が監視信号出力手段からハイ信号(もしくはロー信号)としての監視信号が出力されているか否かを、スタートレバーSTが操作されてトリガ信号が出力される毎に監視することで、第1乱数クロック発生回路B51もおよび第2乱数クロック発生回路B52のうちのいずれかの異常動作を検出することができる。
さらに、オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号を、クロックカウント回路B81〜B84の動作情報として例えばRAM734に入力して記憶させ、CPU732がRAM734に記憶された当該動作情報をスタートレバーSTが操作されてトリガ信号が出力される毎に監視することで第1乱数クロック発生回路B51および第2乱数クロック発生回路B52がいずれも正常に動作しているか否かを検出できるように構成してもよい。
このような構成によれば、オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号がハイ信号としてRAM734に入力されたときには、RAM734に例えばオン情報としての動作情報が記憶されるようになっており、CPU732がスタートレバーSTの操作によりトリガ信号が出力される毎にRAM734内のオン情報を読み込むと(RAM734にオフ情報としての動作情報が記憶されるようにして、このオフ情報を読み込むようにしてもよい。)、第1および第2乱数クロック発生回路B51,B52はともに正常に動作しているものと判断する。そして、CPU732はRAM734内のオン情報をオフ情報に書き換える(オフ情報として記憶された場合はオン情報に書き換えられる)。
一方、第1および第2乱数クロック発生回路B51,B52のうちいずれかにおいて異常動作が生じると、オーバーフロー信号はロー信号として出力され、RAM734にはオフ情報としての動作情報が記憶される。このとき、CPU732がRAM734内のオフ情報を読み込むことで、第1もしくは第2乱数クロック発生回路B51,B52の異常動作を判断することができる(ロー信号が出力されたときにオン情報としてRAM734に記憶して、このオン情報をCPU732が読み込んで異常動作を判断するようにしてもよい)。
また、上記の実施例においては、スロットマシン100を例に本発明に係る乱数監視装置が搭載された遊技機の説明を行ったが、スロットマシン100は遊技機の一例であって当該遊技機はスロットマシンに限られず、パチンコ機であってもよい。
さらに、本発明に係る乱数監視装置は、遊技機に搭載される場合に限られず、乱数クロック発生手段を有して構成される乱数発生装置が使用される機器であれば、当該乱数監視装置を用いることで乱数クロック発生手段の異常動作を検出することができる。