以下、本発明に係る遊技機の実施形態として、遊技場等に設置されるスロットマシンを例に図1から図9を参照して説明する。なお、図1は本スロットマシン100の外部構造を表した平面図、図2は本スロットマシン100の内部構造を表した平面図、図3は本スロットマシン100に設けられている制御システムの構成を表したブロック図である。
図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が設けられている。エラーコードが表示されたときは、遊技機は遊技不可の状態となり、この状態は各異常動作に応じたエラーの解除方法が施されるまで継続する。
さらに、中部パネル部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」という。)からなるメインコントロール部710と、乱数値の発生に係る乱数発生装置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から出力されるメダル検出信号と、ベットボタンB1,B2,B3とスタートレバーST及びストップボタン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とから構成される。メインコントロール部730にはCPU732、ROM733、RAM734が設けられており、CPU732が実行すべき制御プログラム及び制御の過程で必要なデータはROM733に記載されている。
図4を合わせて参照して、主基板700上のCPU732は、役抽選手段B34、図柄抽選手段B35および演出パターン抽選手段B36を有している。主基板700は、スタートレバーSTのオン信号を検出すると、図示しないモータを駆動させて各回胴リールR1,R2,R3を回転させるとともに、役抽選手段B34および演出パターン抽選手段B36により、後述する乱数発生装置750から順次発生する乱数のうちの1つの乱数値をそれぞれ取得することで、役の抽選および役の抽選結果に基く停止図柄の決定、並びに演出パターンの抽選が行われる。
役抽選手段B34は、特別役、小役、リプレイ等の役の抽選を行うためのものである。ここで、特別役とは、通常ゲームとは異なるゲームであって遊技者に有利な特別ゲームに移行させるための役である。また、小役とは、所定枚数のメダルを遊技者に払い出す役であり、複数種類設けられている。さらに、リプレイとは、前ゲームで投入したメダル枚数を維持した再ゲームを行う権利を遊技者に与える役である。
役の抽選を行うための役抽選データはROM733上の役抽選テーブルB37に記録されている。役抽選テーブルB37は、通常遊技状態用や特別遊技状態(遊技者にとって有利な遊技)用といった遊技状態に応じた抽選テーブルで構成されている。これら通常遊技状態用や特別遊技状態用の各役抽選テーブルB37は、いずれも、特別役当選領域、小役当選領域、リプレイ当選領域、及び非当選(ハズレ)領域等、予め所定の割合に設定された領域を備える。後述するように乱数発生装置750は、図柄抽選用の乱数(0〜65535の65536個の乱数値)を発生させており、役抽選手段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において数十種類の演出パターンが記憶されている演出パターンデータテーブルB38の中から、いずれかの演出パターンを抽選によって選択するものである。乱数発生装置750は、演出パターン抽選用の乱数(0〜65535の65536個の乱数値)を発生させており、65536個の中から抽選した乱数値と演出パターンデータテーブルB38とを照合して演出パターンが選択され、各演出パターンに定められている演出を行う。このような演出として、回胴リールR1,R2,R3の始動時、ストップボタンST1,ST2,ST3の受付時、及び全回胴リールR1,R2,R3の停止時に、演出用ランプ103a,104a,104bの点灯・点滅や、演出用スピーカSR,SL,SWからの放音、演出表示装置103dによる画像表示等がある。
次に、主基板700内に設けられた乱数監視装置710について、主基板700内のメインコントロール部730とともに、図5の構成図及び図6の回路図を参照しつつ説明する。
この乱数監視装置710を構成する乱数発生装置750よる制御の過程で生成及び変化する乱数は、CPU732が取得した後、RAM734に一時的に記憶される。入出力回路部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は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)と、当該読み込み信号に応じて計数したカウント値が出力されるカウント出力部(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」までカウントされて、8桁分の値のカウントが終わると、その都度、桁上がり信号がIC38のRCO端子からIC39のCCKEN端子へ出力される。第2クロックカウント回路B82がカウントを開始するには、第1クロックカウント回路B81からの当該桁上がり信号の入力が必要であり、IC39においては、この桁上がり信号と第1乱数クロック発生回路B51からの乱数クロックとが同時に入力されて始めて8桁分の値のカウントが開始される。
同様に、第2乱数クロック発生回路B52からの乱数クロックの入力により、まずIC32において、8桁分の値(例えば、「00000001」や「00000011」)がカウントされる。そして、「11111111」までカウントされて、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進数がそれぞれ生成されることとなっている。すなわち、16桁の2進数のうち、IC38が下位の8桁、IC39がその上位の8桁、また、IC32が下位の8桁、IC36がその上位の8桁をそれぞれ担当している。
上記4つのクロックカウント回路により加算されているカウントは、図柄抽選用乱数を一時的に記憶するための第1カウント値記憶回路B91(図5では、第1クロックカウント回路B81と同じIC38で示す。)及び第2カウント値記憶回路B92(図5では、第2クロックカウント回路B82と同じIC39で示す。)、また、演出パターン抽選用乱数を一時的に記憶するための第3カウント値記憶回路B93(図5では、第3クロックカウント回路B83と同じIC32示す。)及び第4カウント値記憶回路B94(図5では、第4クロックカウント回路B84と同じIC36で示す。)へそれぞれ出力されて記憶される。
なお、本実施の形態では、クロックカウント回路として加算式のインクリメントカウンタを使用しているが、他の実施の形態では、減算式のデクリメントカウンタを使用することとしてもよい。また、本実施の形態においては16ビットの乱数(8ビット×2)を生成することとしているが、他の実施の形態においては、このビット数は16ビットに限らず適宜変更することとしてもよい。
ラッチ信号出力回路は、演出パターン抽選用乱数の取得に係る第1ラッチ信号出力回路B71と、図柄抽選用乱数の取得に係る第2ラッチ信号出力回路B72とに分けられている。
第1ラッチ信号出力回路B71(IC34)には、前記第1乱数クロック反転回路B61(IC22)からの反転クロックが反転クロック入力部(CK)を経て入力される。また、回胴回転始動装置センサB11からのトリガ信号が始動信号入力部(D)を経て入力される。そして、第1ラッチ信号出力回路B71は、この始動信号入力部(D)を経てトリガ信号(ハイ信号)が入力されたときは、この信号の立ち上がりエッジを、第1反転クロック入力部(CK)から入力される反転クロックの立ち上がりエッジと同期するように遅延させて、ラッチ信号としてラッチ信号出力部(Q)を経て第3カウント値記憶回路B93及び第4カウント値記憶回路B94へ出力する。
一方、第2ラッチ信号出力回路B72には、前記第2乱数クロック反転回路B62からの反転クロックが反転クロック入力部(CK)を経て入力される。また、回胴回転始動装置センサB11からのトリガ信号が始動信号入力部(D)を経て入力される。そして、第2ラッチ信号出力回路B72は、この始動信号入力部(D)を経てトリガ信号(ハイ信号)が入力されたときは、この信号の立ち上がりエッジを、反転クロック入力部(CK)から入力される反転クロックの立ち上がりエッジと同期するように遅延させて、ラッチ信号としてラッチ信号出力部(Q)を経て第1カウント値記憶回路B91及び第2カウント値記憶回路B92へ出力する。
ここで、上記の始動信号は、後述するように入出力回路部B40を介してメインコントロール部730にも入力され、乱数取得のために実行される後述するプログラムを開始させるタイミングとしても用いられることとなっている。
第1カウント値記憶回路B91には、第1クロックカウント回路B81によりカウントされた2進数の乱数値が、第2カウント値記憶回路B92には、第2クロックカウント回路B82によりカウントされた2進数の乱数値が入力される。同様に、第3カウント値記憶回路B93には、第3クロックカウント回路B83によりカウントされた2進数の乱数値が、第4カウント値記憶回路B94には、第4クロックカウント回路B84によりカウントされた2進数の乱数値が入力される。
そして、第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から第2ラッチ信号出力回路B72への入力信号がロー信号からハイ信号の側に切り替わったときに(回胴回転始動装置センサB11からのトリガ信号を受けて第2ラッチ信号出力回路B72からラッチ信号が出力されたときに)記憶する。そして、上記プログラムに基いてメインコントロール部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」までの全てのカウントが終了して全ビットの値が「1」になる毎に)、第2クロックカウント回路B82からのカウント信号(例えばハイ信号)がIC39のRCO端子から第1オーバーフロー信号出力回路B95(IC40)へ出力される。このカウント信号は、再び第1クロックカウント回路B81が乱数値のカウントを開始すると(再び「00000000」からのカウントが開始されると)、出力が停止される(すなわち、ロー信号に切り換わる)。
一方、第1乱数クロック発生回路B51に何らかの不具合が発生した場合には、第1クロックカウント回路B81もしくは第2クロックカウント回路B82のうち何れかにおいて正常に乱数値のカウントアップがなされず(「11111111」までの全てのカウントが行われず)、IC39のRCO端子から第1オーバーフロー信号出力回路B95(IC40)へ向けて出力されるカウント信号は、常にロー信号のままである。
同様に、第4クロックカウント回路B84(IC36)において、8ビット分の乱数値のカウントが終了する毎に(「00000000」から「11111111」までの全てのカウントが終了して全ビットの値が「1」になる毎に)、第4クロックカウント回路B84からのカウント信号(例えばハイ信号)がIC36のRCO端子から第2オーバーフロー信号出力回路B96(IC41)へ出力される。このカウント信号は、再び第3クロックカウント回路B83が乱数値のカウントを開始すると(再び「00000000」からのカウントが開始されると)、出力が停止される(すなわち、ロー信号に切り換わる)。
一方、第2乱数クロック発生回路B52に何らかの不具合が発生した場合には、第3クロックカウント回路B83もしくは第4クロックカウント回路B84のうち何れかにおいて正常に乱数値のカウントアップがなされず、(「11111111」までの全てのカウントが行われず)、IC39のRCO端子から第2オーバーフロー信号出力回路B96(IC41)へ向けて出力されるカウント信号は、常にロー信号のままである。
第1および第2オーバーフロー信号出力回路B95,B96は、それぞれクロックカウント回路B82,B84からのハイ信号としてのカウント信号が入力されるとCPU732に向けてハイ信号としてのオーバーフロー信号を出力する。
そして、CPU732は当該オーバーフロー信号が、後述する所定の周期毎にいずれもハイ信号であることを検出すると、第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からそれぞれ出力されるオーバーフロー信号(ロー・ハイ信号)をCPU732が監視することで、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちどちらかに動作不良が発生したか否かを判断することができる。
次に、実際の遊技における乱数の取得及び利用するために実行されるプログラムについて、図7及び図8のフローチャートを参照しつつ説明する。
次に、実際の遊技における乱数の取得及び利用するために実行されるプログラムについて、図7及び図8のフローチャートを参照しつつ説明する。なお、図7および図8に示すフローチャートは、丸囲み1の部分同士が繋がって1つのフローチャートを構成している。
スロットマシン100の電源が投入されると、必要なパラメータの初期化等が行われた後、図6及び図7に示すフローチャートに従って遊技の処理が実行される。この遊技処理においては、まず、図6のステップS100において、スタートレバーSTのオン操作によるオン信号(例えばハイ信号)を回胴回転始動装置センサB11が検出して、メインコントロール部730の入出力回路部B40にトリガ信号を出力する。
続くステップ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に格納される。そして、先のステップS190で格納された下位8ビット分と合わせて、演出パターンを決定するための16ビットの乱数として取り扱われることとなる。この後、スタートレバーSTが再び操作され、オン信号(例えばハイ信号)を回胴回転始動装置センサB11が検出して、入出力回路部B40にトリガ信号が出力されると、ステップS110に再び戻り、入出力回路部B40から16ビットの乱数のうち上位8ビット分に対する読込信号が出力される。
以下、図9を参照して、第2クロックカウント回路B82および第4クロックカウント回路B84のRCO端子からそれぞれ出力されるカウント信号を介して、第1および第2オーバーフロー信号出力回路B95,B96からそれぞれ出力されるオーバーフロー信号をCPU732が監視し(ハイ信号であるか、それともロー信号であるか)、乱数クロック発生回路B51,B52のうちいずれかに動作不良が発生したときに、その故障を判断するために、CPU732において実行されるハードウェア乱数監視プログラムについて説明する。
このプログラムは、特定の周期毎(例えば、約47ms毎)に、第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より大きい約47ms毎にCPU732がオーバーフロー信号を監視すれば、乱数クロック発生回路B51,B52の正常な動作を検出することができる。
図9に示すように、所定の周期毎にハードウェア乱数監視プログラムが実行されると、初期段階においてロー信号であったオーバーフロー信号が(後述するように、直前の監視周期において、乱数クロック発生回路B51,B52がいずれも正常な動作を行っていたならば、オーバーフロー信号はCPU732によりハイ信号からロー信号に切り換えられる。すなわち、監視毎にロー信号にリセットされる。)、ステップS300でCPU732により、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されるオーバーフロー信号がそれぞれハイ信号であるか、あるいはロー信号であるかが検出される。このとき、ハイ信号であることを検出したときは、乱数クロック発生回路B51,B52がいずれも正常な動作を行っているものと判断され、スロットマシン100の動作は継続される。
そして、ステップS310にて、CPU732から第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96に向けてそれぞれ出力される制御信号により、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されていたハイ信号がロー信号にリセットされる。
このように、CPU732からの制御により、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96からのオーバーフロー信号をロー信号に変更することで、CPU732による次の監視周期に対する準備となる。すなわち、次の監視周期において、乱数クロック発生回路B51,B52がいずれも正常な動作を行っているならば再びハイ信号が出力され、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちのどちらかが不具合を生じているならば、ロー信号が常に出力されたままであるので、監視周期毎にクロック発生回路B51,B52の動作チェックが可能となる。
ステップS300で乱数クロック発生回路B51,B52がいずれも正常な動作を行っているものと判断されたときは、スロットマシン100の動作は継続されて、図柄抽選手段B35及び演出パターン抽選手段B36によりそれぞれ抽選された乱数値に従って停止図柄や、演出パターンが決定される。
一方、ステップS300でCPU732がオーバーフロー信号がロー信号のままであることを検出したときは、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちのいずれかにおいて故障が生じているものと判断される。この場合、ステップS320において、CPU732から出力されるエラーコード表示信号に基いて、中部パネル部104上の獲得枚数表示部(エラー表示部)104cにエラーコードの表示がなされる。そして、ステップS330においてCPU732から出力される制御信号に基いて、スロットマシン100の動作が停止し、遊技不可の状態となる。
以上説明したように、本発明に係る遊技機に設けられたハードウェア乱数監視プログラムによれば、CPU732が、スロットマシン100の動作中に所定の周期で第2クロックカウント回路B82及び第4クロックカウント回路B84から出力されるカウント信号を介して、第1オーバーフロー信号出力回路B95および第2オーバーフロー信号出力回路B96から出力されるオーバーフロー信号を監視しており、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちいずれかに動作不良が発生した場合には、このオーバーフロー信号に基いて、CPU732が乱数クロック発生回路B51,B52の動作不良を検出することができる。このため、これら乱数クロック発生回路B51,B52が異常動作を起こしたまま乱数監視装置を搭載するスロットマシン100等が動作し続けるのを防止できる。
なお、これまで本発明の好ましい実施形態について説明してきたが、本発明の範囲は上述した実施形態に限定されるものではない。例えば、上記の実施例では、カウント信号の出力に基いてオーバーフロー信号がロー信号からハイ信号に切り換わるように構成され、ハイ信号が検出されたときに、乱数クロック発生回路B51,B52の正常な動作を判断し、ロー信号が検出されたときは、乱数クロック発生回路B51,B52の異常動作を判断したが、これとは逆に、カウント信号の出力に基いてハイ信号からロー信号に切り換わるように構成して、ロー信号が検出されたときに、乱数クロック発生回路B51,B52の正常な動作を判断し、ハイ信号が検出されたときは、乱数クロック発生回路B51,B52の異常動作を判断するようにしてもよい。
また、クロックカウント回路B82,B84からそれぞれ出力されるカウント信号は、「00000000」から「11111111」までの全てのカウントが終了する毎に、それぞれの桁上がり信号出力部(RCO端子)からオーバーフロー信号出力回路B95,B96へ出力されるように構成されていたが、例えば、クロックカウント回路B82,B84のカウント出力部QDとQEとの間にカウント信号出力端子をそれぞれ設け、当該カウント信号出力端子からカウント信号が出力するように構成してもよい。このような構成によれば、「00000000」から「11110000」までのカウントが行われる毎に、カウント信号が監視信号出力手段に出力され、監視信号検出手段が監視信号出力手段からハイ信号(もしくはロー信号)としての監視信号が出力されているか否かを所定周期毎に監視することで、第1乱数クロック発生回路B51もしくは第2乱数クロック発生回路B52のうちのいずれかの動作不良を検出することができる。
また、オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号を、クロックカウント回路B81〜B84の動作情報として例えばRAM734に入力して記憶させ、CPU732がRAM734に記憶された当該動作情報を所定周期毎に監視することで第1乱数クロック発生回路B51および第2乱数クロック発生回路B52がいずれも正常に動作しているか否かを検出できるように構成してもよい。
このような構成によれば、オーバーフロー信号出力回路B95,B96から出力されるオーバーフロー信号がハイ信号としてRAM734に入力されたときには(カウント回路からのカウント信号を直接RAM734に入力して動作情報を記憶するようにしてもよい。)、RAM734に例えばオン情報としての動作情報が記憶されるようになっており、CPU732が所定周期毎にRAM734内のオン情報を読み込むと(RAM734にオフ情報としての動作情報が記憶されるようにして、このオフ情報を読み込むようにしてもよい。)、第1および第2乱数クロック発生回路B51,B52はともに正常に動作しているものと判断する。そして、CPU732はRAM734内のオン情報をオフ情報に書き換える(オフ情報として記憶された場合はオン情報に書き換えられる)。
一方、第1もしくは第2乱数クロック発生回路B51,B52のうちいずれかにおいて動作不良が生じると、オーバーフロー信号はロー信号として出力され、RAM734にはオフ情報としての動作情報が記憶される。このとき、CPU732がRAM734内のオフ情報を読み込むことで、第1もしくは第2乱数クロック発生回路B51,B52の動作不良を判断することができる(ロー信号が出力されたときにオン情報としてRAM734に記憶して、このオン情報をCPU732が読み込んで動作不良を判断するようにしてもよい)。
また、上記の実施例においては、スロットマシン100を例に乱数監視装置が搭載された遊技機の説明を行ったが、スロットマシン100は遊技機の一例であって当該遊技機はスロットマシンに限られず、パチンコ機であってもよい。