以下、実施例に基づいて本発明を更に詳細に説明する。図1〜図4は、実施例に係るスロットマシンSLを図示したものである。本スロットマシンSLは、矩形箱状の本体ケース1と、各種の遊技部材を装着した前面パネル2とが、ヒンジ3を介して連結され、前面パネル2が本体ケース1に対して開閉可能に構成されている(図2)。そして、図1は前面パネル2の正面図、図2はスロットマシンSLの右側面図(a)と平面図(b)、図3は前面パネル2の背面図、図4は本体ケース1の内部正面図を示している。
図4に示す通り、本体ケース1の略中央には、3つの回転リール4a〜4cを備える図柄回転ユニット4が配置され、その下側に、メダル払出装置5が配置されている。各回転リール4a〜4cには、BB図柄、RB図柄、各種のフルーツ図柄、及びリプレイ図柄などが描かれている。メダル払出装置5には、メダルを貯留するメダルホッパー5aと、払出モータMと、メダル払出制御基板55と、払出中継基板63と、払出センサ(不図示)などが設けられている。ここで、メダルは、払出モータMの回転に基づいて、払出口5bから図面手前に向けて導出される。なお、限界量を越えて貯留されたメダルは、オーバーフロー部5cを通して、補助タンク6に落下するよう構成されている。
上記のメダル払出装置5に隣接して電源基板62が配置され、また、図柄回転ユニット4の上部に主制御基板50が配置され、主制御基板50に隣接して回胴設定基板54が配置されている。なお、図柄回転ユニット4の内部には、回胴LED中継基板58と回胴中継基板57とが設けられ、図柄回転ユニット4に隣接して外部集中端子板56が配置されている。
図1に示すように、前面パネル2の上部には液晶表示ユニット7が配置され、その下部には、回転リール4a〜4cに対応する3つの表示窓8a〜8cが配置されている。表示窓8a〜8cを通して、各回転リール4a〜4cの回転方向に、各々3個程度の図柄が見えるようになっており、合計9個の図柄の水平方向の三本と、対角線方向の二本が仮想的な停止ラインとなる。
このような表示窓8aの左側には、遊技状態を示すLED群9が設けられ、その下方には、遊技成果として払出されるメダル数を表示する払出表示部10や、クレジット状態のメダル数を表示する貯留数表示部11が設けられている。
前面パネル2の垂直方向中央には、メダルを投入するメダル投入口12が設けられ、これに隣接して、メダル投入口12に詰まったメダルを返却させるための返却ボタン13が設けられている。また、クレジット状態のメダルを払出すクレジット精算ボタン14と、メダル投入口12へのメダル投入に代えてクレジット状態のメダルを擬似的に一枚投入する投入ボタン15と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
これらの遊技部材の下方には、回転リール4a〜4cの回転を開始させるスタートレバー17と、回転中の回転リール4a〜4cを停止させるためのストップボタン18a〜18cが設けられている。その他、前面パネル2の下方には、メダルを蓄える横長の受け皿19と、払出装置5の払出口5bに連通するメダル導出口20とが設けられている。なお、メダル導出口20の左右にはスピーカSPが配置されている。
図3に示すように、前面パネル3の裏側には、メダル投入口12に投入されたメダルの選別を行うメダル選別装置21と、メダル選別装置21により不適正と判別されたメダルをメダル導出口20に案内する返却通路22とが設けられている。また、前面パネル3の裏側上部には、演出制御基板51、演出インタフェイス基板52、及び液晶制御基板61などを収容する基板ケース23が配置されている。そして、メダル選別装置21の上部には、図1に示す各種の遊技部材と主制御基板50との間の信号を中継する遊技中継基板53が設けられている。
図5は、実施例に係るスロットマシンSLの回路構成を示すブロック図である。図示の通り、このスロットマシンSLは、回転リール4a〜4cを含む各種の遊技部材の動作を制御する主制御基板50と、主制御基板50から受けた制御コマンドに基づいて演出動作を実現する演出制御基板51と、交流電圧(24V)を直流電圧(5V,12V,24V)に変換して装置各部に供給する電源基板62とを中心に構成されている。
主制御基板50は、演出制御基板51に対して、スピーカSPによる音声演出、LEDランプや冷陰極線管放電管によるランプ演出、及び、液晶表示ユニット7による図柄演出を実現するための制御コマンドを出力している。そして、演出制御基板51は、演出インタフェイス基板52を通して、液晶制御基板61に接続されており、液晶制御基板61は、液晶表示(LCD)ユニット7における図柄演出を実現している。
演出制御基板51は、演出インタフェイス基板52と共に、LED基板59やインバータ基板60や回胴LEDドライブ基板58を経由して、各種のLEDや冷陰極線管放電管におけるランプ演出を実現している。また、演出制御基板51は、演出インタフェイス基板52を通してスピーカSPを駆動して音声演出を実現している。
主制御基板50は、遊技中継基板53を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー17の始動スイッチ、ストップボタン18a〜18cの停止スイッチ、投入ボタン15,16の投入スイッチ、清算ボタン14の清算スイッチ、投入枚数判定部21dを構成するフォトインタラプタPH1,PH2、投入メダル返却部21cを構成するブロッカーソレノイド31、及び、各種LED素子9〜11などに接続されている。
そして、スタートレバー17からの始動スイッチ信号LV、及び、ストップボタン18a〜18cからの停止スイッチ信号STP1〜STP3を含んだ各種の出力信号が、遊技中継基板53を経由して主制御基板50に入力される。また、主制御基板50が出力する各種の制御信号が、遊技中継基板53を経由して対応する遊技部材に供給される。
また、主制御基板50は、回胴中継基板57を経由して、回転リール4a〜4cを回転させる3つのステッピングモータ、及び、回転リール4a〜4cの基準位置を検出するためのインデックスセンサに接続されている。そして、ステッピングモータを駆動又は停止させることによって、回転リール4a〜4cの回転動作と、目的位置での停止動作を実現している。
主制御基板50は、払出中継基板63を通してメダル払出装置5にも接続されている。メダル払出装置5には、メダル払出制御基板55と、メダル払出センサと、払出モータMとが設けられており、メダル払出制御基板55は、主制御基板50からの制御コマンドに基づいて払出モータMを回転させて、所定量のメダルを払出している。
その他、主制御基板50は、外部集中端子板56と、回胴設定基板54にも接続されている。外部集中端子板56は、例えばホールコンピュータHCに接続されており、主制御基板50は、外部集中端子板56を通して、メダルの投入枚数やメダルの払出枚数などを出力している。また、回胴設定基板54は、係員が設定キーで設定した設定値を示す設定キー信号などを出力している。
ここで、設定値とは、当該遊技機で実行される抽選処理の当選確率などを、設定1から設定6まで6段階で規定するもので、遊技ホールの営業戦略に基づいて適宜に設定される。例えば、最高ランクに設定された遊技機は、メダル払出枚数の期待値が最高レベルであるため、遊技者にとって最も有利である。
図6は、主制御基板50の回路構成を図示したものである。図示の通り、主制御基板50は、ワンチップマイコン64と、8bitパラレルデータを入出力するI/Oポート回路65と、ハードウェア構成によって乱数値RNDを生成する乱数生成回路66と、演出制御基板51などの外部基板とのインタフェイス回路と、8MHz程度の計数クロックΦを出力する発振回路OSCとを中心に構成されている。
ここで、ワンチップマイコン64は、Z80相当品のCPUコア64a、ROM、RAMなどの他に、CTC(Counter/Timer Circuit)64bや、割込みコントローラ64c、入力ポート64d、出力ポート64eなどを内蔵している。
CTC64bは、8bitのカウンタやタイマを集積した回路であり、Z80システムに、周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)や時間計測の機能を付与するものである。そこで、本実施例では、CTC64bを利用して、Z80CPU64aに1.5mS程度の時間間隔τでタイマ割込み(図11(b))をかけている。
インタフェイス回路としては、電源回路とのインタフェイス回路67、遊技中継基板53とのインタフェイス回路68と、回胴モータ駆動回路69と、演出制御基板と51のインタフェイス回路70などが設けられている。そして、電源遮断時には、インタフェイス回路67を通して、Z80CPU64aに電圧降下割込みをかけている。なお、回胴モータ駆動回路69は、回転リール4a〜4cのステッピングモータの駆動信号を生成する回路であり、インタフェイス回路70は、演出制御基板51に制御コマンドを出力するための8ビットパラレルポートである。
図示の通り、インタフェイス回路68には、始動スイッチ信号LVと、停止スイッチ信号STP1〜STP3とが、他の出力信号と共に供給されており、これらの信号LV,STP1〜STP3は、I/Oポート回路65を経由して、乱数生成回路66に供給されている。
乱数生成回路66は、発振回路OSCから供給される計数クロックΦを計数して、ワンチップマイコン64の入力ポート64dに乱数値RNDを出力する回路である。但し、本実施例の乱数生成回路66は、始動スイッチ信号LVや、停止スイッチ信号STP1〜STP3の他に、ワンチップマイコン64の出力ポート64eから終了信号ENDを受けて、間欠的な計数動作を実現している。
すなわち、通常の乱数生成回路のように、計数クロックΦに基づいて、連続的な計数動作を繰り返すのではなく、3個のストップボタン18a〜18cのON操作が完了する毎に、ランダムな動作禁止区間を設けて乱数生成回路66の計数動作を停止している。そのため、カウンタの計数値(乱数値RND)が大当り抽選値Hitの値に一致する大当りタイミングが不定期に発生することになり、体感器などを使用しても不正遊技を成功させることができない。
なお、終了信号ENDは、メダル払出などで完了する一回の遊技動作の終了時に出力ポート64eから乱数生成回路66に出力される(図11(a)ST18参照)。また、乱数生成回路66は、波形整形された始動スイッチ信号LV”を、ワンチップマイコン64の入力ポート64dに供給している。
図7は、上記の機能を発揮する乱数生成回路66を詳細に例示した回路図である。図示の乱数生成回路66は、ローパスフィルタ機能を有する入力部Fiと、入力部Fiにおいて論理反転された始動スイッチ信号LVを取得する信号取得部25と、2つの8ビットカウンタ26L,26Hをカスケード接続して乱数値RNDを生成する計数部26と、停止スイッチ信号STP1〜STP3を所定時間だけ保持する保持部27と、ランダムな時間幅の動作禁止信号CTLを生成する時定数部28と、を中心に構成されている。
下位カウンタ26Lと上位カウンタ26Hの出力値LOW,HIは、全体として16ビット長の乱数値RNDとなる。各カウンタ26L,26Hは、ワンチップマイコン64の入力ポート64dに接続されており、16ビット長の乱数値RNDが、8ビット毎に取得されるようになっている。また、入力ポート64dには、波形整形された始動スイッチ信号LV”も供給されており、ワンチップマイコン64は、始動スイッチ信号LV”に基づいてスタートレバー17のON操作を把握して、各回の遊技動作を開始するようにしている。
<入力部Fi>
入力部Fiには、抵抗RとコンデンサCとで構成されたローパスフィルタが設けられている。そのため、スタートレバー17からの信号ラインに重畳したノイズは排除され、本来の始動スイッチ信号LVバーだけが、シュミットトリガタイプのNOTゲートGで論理反転されて出力される。
<信号取得部25>
信号取得部25は、2つのD型フリップフロップ25a,25bが直列接続されて構成され、各クロック端子CLKには、発振回路OSCから出力される計数クロックΦが供給されている。D型フリップフロップは、特に限定されないが、この実施例では、SN74HC74(TI社)を使用しており、計数クロックΦ(実施例では8MHz)の立上りエッジで、D入力端子のデータがQ出力端子に出力される。したがって、図9(a)〜図9(d)に示す通り、遊技者のスタートレバー操作に対応する始動スイッチ信号LVは、フリップフロップ25aにおいて、計数クロックΦに同期してパルス幅が調整された上で(LV’)、更に計数クロックの1クロック分(1/8μS)だけ遅延して(LV”)、フリップフロップ25bから出力される。
そのため、入力部Fiを通過したノイズによって、仮にフリップフロップ25aの入力端子が一瞬ON状態になっても、信号取得部25が誤作動することがない。なお、パルス幅2/8μS以上のノイズを受けると信号取得部25が反応してしまうが、始動スイッチ信号LV”を受けるワンチップマイコン64では、所定時間(例えば1μS)間隔で、始動スイッチ信号LV”のレベルを複数回チェックし、始動スイッチ信号LV”が同一レベルを維持することを条件に、その後の処理に移行するので問題は生じない。
<計数部26>
本実施例の計数部26は、2つのSN74HC590A(8-BIT BINARY COUNTERS WITH 3-STATE OUTPUT REGISTERS:TI社)26L,26Hで構成されている。図10に等価回路を示す通り、各8ビットカウンタには、28進カウンタCTと、8ビットラッチLaと、8ビットの出力レジスタRoとが内蔵されている。そして、クロック端子CCLKに供給される計数クロックの立上りエッジで、28進カウンタCTのカウンタ値が更新される。
この実施例では、下位カウンタ26Lのクロック端子CCLKには、計数クロックΦを位相反転させた計数クロックΦバーが供給され、内部28進カウンタCTの桁上り信号(ripple carry)RCOは、上位カウンタ26Hのクロック端子CCLKに供給されている。そのため、本実施例の計数部26は、全体として、216進カウンタとして機能して、0000H〜FFFFHの数値範囲(Hは16進数を示す)で循環している。
但し、各カウンタ26L,26Hの動作禁止端子CCKENの電圧がHレベルであると、計数動作が禁止され、クロック端子CCLKの電圧変化に拘らず、216進カウンタCTのカウンタ値が変化しない。図9(f)と図9(g)は、この関係を示しており、動作禁止端子CCKENの電圧がHレベルである区間は、計数クロックΦバーの供給に拘らず、カウンタ値がN+1のままで変化しないことを示している。
また、28進カウンタCTのカウンタ値は、ラッチクロック端子RCLKのラッチ信号の立上りエッジで、8ビットラッチLaに保持され、8ビットラッチLaの出力値は、制御端子OEの制御信号がLレベルであることを条件に、出力レジスタRoから出力される。なお、制御端子OEの制御信号がHレベルであると、出力レジスタRoの出力端子は、ハイインピーダンス状態(HiZ)となる。
本実施例では、下位カウンタ26Lと上位カウンタ26Hの各ラッチクロック端子RCLKに、フリップフロップ25bの出力(LV”)が供給されている。そのため、始動スイッチ信号LV”の立上りエッジで、2つの28進カウンタCTのカウンタ値が、2つの8ビットラッチLaに各々保持される。図9(d)と、図9(g)は、その関係を図示したものであり、M−1からインクリメントされたカウンタ値(16ビット長)Mが、D型フリップフロップ25bの出力LV”の立上りエッジで、下位カウンタ26Lと上位カウンタ26Hの8ビットラッチLaに取得されることを示している。
本発明では、ランダムなタイミングでON状態となる始動スイッチ信号LVを、計数クロックΦに同期させて波形整形する一方で、計数クロックΦを位相反転させた計数クロックΦバーに同期して216進カウンタを更新している。そのため、各28進カウンタCTのカウンタ値が、各8ビットラッチLaにラッチされるタイミングでは、カウンタの更新動作が確実に完了しており、例えば、M−1→Mへの更新途中の不安定なカウンタ値がラッチされるおそれがない。なお、計数クロックΦに同期してカウンタを更新したのでは、更新途中の不合理なカウンタ値をラッチしてしまうおそれがある。
<保持部27>
保持部27は、停止スイッチ信号STP〜STP3を受ける3個のNOTゲートと、3個のRSフリップフロップ27a〜27cと、各フリップフロップ27a〜27cのQ出力を受けるANDゲートG2と、を有して構成されている。
RSフリップフロップ27a〜27cのS端子には、NOTゲートを経由して停止スイッチ信号STP1〜STP3が供給され、R端子には、終了信号ENDが供給されている。ここで、停止スイッチ信号STP1〜STP3は、遊技者のストップボタン18a〜18cのON操作を示すもので、そのパルス幅は一定しないが、停止スイッチ信号STP1〜STP3の立下りエッジにおいて、各フリップフロップがセットされる。一方、この実施例では、一回の遊技(1ゲーム)が終了する毎に終了信号ENDが立上るよう構成されているので、この終了タイミングで、各フリップフロップ27a〜27cがリセットされる。
上記の動作は、図7(b)のタイムチャートに示す通りであり、したがって、ANDゲートG2の出力(Q1*Q2*Q3)は、最終のストップボタンの操作時から、1ゲーム終了時までHレベルを維持する起動信号BGとなる。なお、ストップボタン18a〜18cの操作順序は任意であるが、図7(b)では、便宜上、ストップボタン18a,18b,18cの順番にON操作されるとしている。
<時定数部28>
時定数部28は、下位カウンタ26Lの桁上り信号(ripple carry)RCOと、保持部27が出力する起動信号BGと、始動スイッチ信号LV”とを受けて、動作禁止信号CTLを出力する回路である。図示の通り、動作禁止信号CTLは、各カウンタ26L,26Hの動作禁止端子CCKENに供給されているので、動作禁止信号CTLがHレベルである限り、各カウンタ26L,26Hの計数動作が停止状態となる。なお、桁上り信号RCOは、256個目の計数クロックΦバーが計数部26に供給される毎に出力される(図10参照)。
図8は、時定数部28の回路構成を具体的に例示するものである。時定数部28は、桁上り信号RCOを受けて計数動作を実行する4進カウンタ30と、始動スイッチ信号LV”に同期して、4進カウンタ30の出力を保持するラッチ回路31と、ANDゲートG2が出力する起動信号BGを受けて動作開始パルスOPを生成する起動回路32と、動作禁止信号CTLを生成する充電回路33とを有して構成されている。
<4進カウンタ30>
4進カウンタ30は、2つのD型フリップフロップ30a,30bを接続して構成されている。図示の通り、各フリップフロップ30a,30bでは、Qバー出力端子とD入力端子とが接続されており、各々、トグル動作を実行する。そして、フリップフロップ30aのクロック端子CLKには、桁上り信号RCOが供給され、フリップフロップ30bのクロック端子CLKには、フリップフロップ30aのQバー出力が供給されている。そのため、各フリップフロップ30a,30bのQ出力(2ビット出力)は、00,01,10,11の何れかの値を、各々1/4の確率でとることになる。
<ラッチ回路31>
ラッチ回路31は、フリップフロップ30a,30bのQ出力を受ける2つのD型フリップフロップ31a,31bで構成されている。各フリップフロップ31a,31bのクロック端子CLKには、波形整形された始動スイッチ信号LV”が供給されている。そのため、始動スイッチ信号LV”の立上りエッジに同期して、各フリップフロップ30a,30bの2ビット出力が、ラッチ回路31に保持される。
始動スイッチ信号LV”は、遊技者のスタートレバー操作タイミングに基づき、ランダムなタイミングで立上る。そのため、ラッチ回路31の2ビット出力は、1/4の確率で、00,01,10,11の何れかの値になる。
<起動回路32>
起動回路32は、NOTゲートG3と、NチャンネルMOSトランジスタT1と、抵抗R1と、コンデンサC1と、NOTゲートG4と、ANDゲートG5とを有して構成されている。ここで、NOTゲートG3、トランジスタT1と、抵抗R1、コンデンサC1、及び、NOTゲートG4は、全体として、起動信号BGの遅延回路を構成しており、抵抗R1及びコンデンサC1の時定数で、遅延時間が規定される。
そして、遅延された起動信号BGと、遅延されない起動信号BGとがANDゲートG5に供給されることで、図8(b)に示す動作開始パルスOPが生成される。図示の通り、起動信号BGの立上りエッジから所定時間だけ動作開始パルスOPがHレベルとなり、それ以外のタイミングでは、動作開始パルスOPはLレベルを維持する。
先に説明した通り、起動信号BGは、遊技者による最終のストップボタンの操作時にHレベルとなるので、動作開始パルスOPがアクティブレベル(=H)となるのは、遊技者が3番目のストップボタン18iをON操作した瞬間だけとなる。
<充電回路33>
充電回路33は、ラッチ回路31の出力によってON/OFF制御されるアナログスイッチAS1,AS2と、コンデンサC2,C3と、NチャンネルMOSトランジスタT2,T3と、充電動作用の抵抗R2と、NOTゲートG6とを有して構成されている。そして、抵抗R2とアナログスイッチAS1,AS2の接続点の電圧が、(反転)動作禁止信号CTLバーとなり、NOTゲートG6で論理反転された出力が、動作禁止信号CTLとなる。なお、抵抗R2及びコンデンサC2,C3は、敢えて、低精度品を使用することで、充電時定数が遊技機毎にばらつくよう構成されている。
図示の通り、各トランジスタT2,T3のゲート端子には、ANDゲートG5の出力が供給されており、動作開始パルスOPがHレベルである時だけ、トランジスタT2,T3がON動作する。コンデンサC2,C3は、各トランジスタT2,T3のドレイン端子とソース端子との間に接続されているので、トランジスタT2,T3がON動作すると、対応するコンデンサC2,C3の充電電荷が放電される。
逆に、動作開始パルスOPがLレベルを維持する定常状態では、トランジスタT2,T3がOFF動作して、コンデンサC2,C3が、抵抗R2を経由して充電される。ここで、コンデンサC2とコンデンサC3の静電容量は、ほぼ1:2に設定されている。そのため、コンデンサC2で決まる充電時定数と、コンデンサC3で決まる充電時定数にも、ほぼ1:2の関係が成立する。以下、コンデンサC2で決まる充電時定数をτとし、コンデンサC3で決まる充電時定数を2*τとするが、各コンデンサC2,C3は、低精度品であるので、充電時定数の比例関係は、遊技機毎に微妙にばらつく。
ところで、動作開始パルスOPがLレベルとなる定常状態において、コンデンサC2,C3が充電されるか否かは、アナログスイッチAS1,AS2のON/OFF状態に規定される。すなわち、アナログスイッチAS1,AS2がOFF状態であれば、コンデンサC2,C3が充電されることはない。
したがって、この関係を言い換えると、アナログスイッチAS1だけがON状態であると、充電回路33は、コンデンサC2で決まる充電時定数τで動作し、アナログスイッチAS2だけがON状態であると、充電回路33は、コンデンサC3で決まる充電時定数2*τで動作する。また、2つのアナログスイッチAS1,AS2がON状態であると、充電回路33は、C2+C3で決まる充電時定数3*τで動作する。なお、2つのアナログスイッチAS1,AS2がOFF状態であると、充電回路33は、事実上、充電時定数=0と等価な動作をする。以上を踏まえて、時定数部28の回路動作を確認する。
<各回の遊技開始時>
先ず、遊技開始時に遊技者がスタートレバー17をON操作すると、その瞬間の桁上り信号RCOの値に基づいて、ラッチ回路31には、00,01,10,11の何れかの値が記憶される。
このラッチ回路31の出力は、アナログスイッチAS1,AS2に供給されているので、ラッチ回路31の出力(00,01,10,11)に対応して、アナログスイッチ(AS1,AS2)は、(OFF,OFF)(OFF,ON)(ON,OFF)(ON,ON)の何れかの動作状態となる。この時、各トランジスタT2,T3は、OFF状態であるので、ON状態のアナログスイッチASiに接続されているコンデンサCiは、+Vccまで充電されて安定する。
なお、このような動作とは無関係に乱数生成回路66の計数部26は計数動作を繰り返している。
<各回の遊技終了時>
その後、遊技者が3番目のストップボタン18をON操作すると、ANDゲートG2が出力する起動信号BGが立上り、その後の所定時間だけ、動作開始パルスOPがHレベルとなり、各トランジスタT2,T3のゲート端子もHレベルとなる。その結果、各トランジスタT2,T3がON動作して、各コンデンサC2,C3の充電電荷が放電される。
各トランジスタT2,T3がON動作したことによって、アナログスイッチASiのグランド側端子がゼロボルトとなるので、ON状態のアナログスイッチASiを経由して、(反転)動作禁止信号CTLバーもLレベルとなり、動作禁止信号CTLがHレベルとなる。このようにして、動作禁止信号CTLがHレベルに立上ったことにより、計数部26の計数動作は禁止され、その時の計数値が維持される(図9(f)参照)。なお、2つのアナログスイッチAS1,AS2が共にOFF状態であった場合には、動作禁止信号CTLがLレベルを維持するので、計数部26の計数動作は禁止されない。
一方、2つのアナログスイッチAS1,AS2の一方又は双方がON状態であった場合には、動作開始パルスOPは、一瞬だけHレベルに変化した後、迅速にLレベルに戻る(図8(b)参照)。そのため、動作開始パルスOPがLレベルに戻った後は、各トランジスタT2,T3がOFF状態となって、コンデンサC2,C3のうち、ON状態のアナログスイッチASiに接続されているコンデンサCiだけが充電される。そして、コンデンサCiの充電動作に伴って、(反転)動作禁止信号CTLバーがHレベルになり、動作禁止信号CTLがLレベルに戻る。その結果、一瞬だけ動作が禁止されていた計数部26の計数動作が再開されることになる。
ここで、LレベルからHレベルに復帰する(反転)動作禁止信号CTLバーの電位を検討すると、Hレベルに復帰までの時間は、コンデンサCiの充電時間に対応し、この充電時間は、アナログスイッチAS1,AS2のON/OFF状態に規定される。具体的には、アナログスイッチAS1だけがON状態であると、充電時間=a*τ、アナログスイッチAS2だけがON状態であると、充電時間=a*2*τ、2つのアナログスイッチAS1,AS2がON状態であると、充電時間=a*3*τとなる。なお、比例定数をaとした。
ここで、アナログスイッチAS1,AS2の4通りのON/OFF状態は、スタートレバー17の操作時における計数部26からの桁上り信号RCOにより規定されるので、事実上ランダムな組合せとなる。しかも、4通りのON/OFF状態の組合せは等確率で出現するので、動作禁止信号CTLがHレベルを維持する動作禁止区間もランダムとなり、例え、体感器などを使用しても大当りタイミングを見つけることが不可能となる。更に、コンデンサCiと抵抗T2とを低精度品で構成しているので、4通りの動作禁止区間が、遊技機毎に一様でなく、違法行為を確実に排除することができる。
ところで、動作禁止区間の間は、計数値が一定値を維持することになるので、動作禁止区間が余り長いと、乱数の発生一様性が阻害される可能性もある。そこで、動作禁止区間の最大値≒a*3*τを、50mS以下、更に好ましくは1mS以下に設定するのが好ましい。
続いて、主制御基板50のワンチップマイコン64(以下、主制御部50という)が実現する制御動作を説明する。図11は、主制御部50が実行する制御プログラムを説明するフローチャートである。主制御部50の制御プログラムは、電源投入時に開始される無限ループ状のメイン処理(図11(a))と、CTCからの定時割込みで起動されるタイマ割込み処理(図11(b))とを有して構成されている。
先ず、図11(a)のメイン処理から説明すると、電源が投入されると初期処理(ST1)の後、CPUを割込み許可状態に設定すると共に、RAMのワークエリアをクリアする(ST2)。
ステップST2の処理が終われば、次に、メダル投入口12から実際に投入されたメダル、及び、投入ボタン15、16の押下によって擬似的に投入されたメダルについてのメダル投入処理を行う(ST3)。メダル投入処理(ST3)では、遊技者が投入又は擬似投入したメダルを検出して、その投入枚数を判定し、スタートレバー17がON操作されるとサブルーチン処理を終了する。なお、図7に関して説明した通り、スタートレバー17がON操作されると、始動スイッチ信号LVがHレベルに変化し、その瞬間の計数値が、計数部26のカウンタ26L,26Hに内蔵された出力レジスタに保持記憶される(図7及び図10参照)。
このようなメダル投入処理(ST3)に続いて、乱数取得処理(ST4)が実行される。具体的には、ワンチップマイコン64は、チップセレクト信号CS0,CS1をLレベルに変化させて、乱数生成回路66の計数部26に保持されているカウンタ値を、入力ポート64dを経由して取得し、これを、乱数値RND(数値範囲:0〜65535)としてRAMの該当番地に記憶する。
次に、記憶した乱数値RNDに基づいて内部抽選処理を実行する(ST5)。具体的には乱数値RNDと、大当り抽選値Hitと比較されて大当り状態(BB図柄当選)か否かが決定される。なお、ビッグボーナス(BB)図柄に当選したか否かに限らず、その他レギュラーボーナス(RG)図柄、フルーツ図柄、リプレイ図柄への当否状態が判定される。
このようにして、乱数値RNDによる内部抽選処理(ST5)が終われば、次に、回転リール4a〜4cを回転させるための準備作業を行い、タイマ割込みによる回転リール4a〜4cの回転制御を可能にし(ST6〜ST8)、その後、ストップボタン18a〜18cが押されたら、対応する回転リール4a〜4cを停止させる回胴停止処理を行う(ST8)。
この回胴停止処理では、内部抽選処理(ST5)の当否結果に沿うように、停止制御が実行される。すなわち、内部抽選処理(ST5)の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール4a〜4cの図柄を整列させる。但し、遊技者がストップボタンを押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選(フルーツ図柄当り)も無駄になるが、ボーナス当選(BB,RB)については、次回のゲーム以降も持ち越される。
このようにして、全ての回転リール4a〜4cが停止したら、有効ライン上に、当選図柄が揃ったか否かが判定され(ST9)、必要数のメダルが払出される(ST10)。
そして、RT(リプレイタイム)のゲーム消化数などを管理して必要な処理を実行する(ST11)。次に、リプレイ当選状態か否か判定され(ST12)、リプレイ当選状態であれば、再遊技動作の開始処理(ST15)を実行する。リプレイ当選状態でない場合には、現在がボーナスゲーム中(RB作動中、又はRB作動中)か否か判定され、ボーナスゲーム中であれば、対応する処理を実行する。
一方、ステップST13の判定がNOの場合には、ボーナス図柄が揃っているか否か判定され(ST14)、ボーナス図柄が揃っている場合には、ボーナスゲームの開始処理(ST17)を実行する。
そして、何れの場合にも、終了信号ENDを出力した上でステップST2に移行する。なお、終了信号ENDはパルス状に出力される。
<タイマ割込み処理>
続いて、図11(b)に示すタイマ割込み処理について説明する。なお、このタイマ割込み処理は、ワンチップマイコン64内部のCTCからのマスク可能な割込み信号(タイマ信号)に基づいて、一定時間間隔τで起動される。
タイマ割込みがかかると、CPUのレジスタを退避した後(ST21)、ポート入力処理を行う(ST22)。ポート入力処理では、始動スイッチ、停止スイッチ、貯留メダルスイッチ、清算スイッチ、ドアスイッチなど、スロットマシンに配置された全てのスイッチからの信号が、I/Oポート回路65を通して入力される。なお、始動スイッチ信号LV”は、乱数生成回路66を経由して入力され、同一レベルの信号LV”が複数回連続して検出されることを条件に取得される。
次に、3つの回転リール4a〜4cの現在位置を常に把握するために、回胴回転制御処理が実行される(ST23)。主制御部50は、インデックセンサからの入力信号の入力タイミングと、その後、ステッピングモータに供給する駆動パルスの個数によって、各回転リール4a〜4cの現在位置を把握することができる。なお、回胴回転制御処理(ST23)では、回転リール4a〜4cの起動処理や停止処理も実施しており、例えば、停止状態から定速回転まで、段階的に回転リールを加速させる駆動信号も生成している。
回胴回転制御処理(ST23)が終われば、定期更新処理を実行する(ST24)。定時更新処理では、遊技動作を管理する各種のソフトウェアタイマ値が、デクリメント処理(−1)によって更新される。
続いて、演出制御部51に対して制御コマンドの1バイト分を出力する(ST25)。1つの制御コマンドは2バイト長であるので、連続する二回のタイマ割込みで1つの制御コマンドを送信することになる。なお、制御コマンドは、主制御部50の遊技状態を示すもので、スタートレバー17やストップボタン18a〜18cが操作されたことも含んだ遊技状態が、制御コマンドによって演出制御部51に通知される。このような制御コマンドを受けた演出制御部51ではLEDランプを点灯させたり、効果音を発生させるべく制御動作を実行する。
次に、メダル情報出力処理を実行して、外部集中端子板56に対して、例えば、各々1ビット信号であるメダル投入信号やメダル払出信号を出力する(ST26)。このメダル投入信号や払出信号によって、ホールコンピュータHCは、各スロットマシンSLの投入されたメダル数や、各スロットマシンSLから払出されたメダル数を把握することができる。また、主制御部50は、各LEDランプ群を駆動するための駆動データを、遊技中継基板53や回胴中継基板57に対して出力する(ST27)。
その後、メダル払出センサやドア開放センサなどの異常の有無を判定した後(ST28)、退避しておいたレジスタを復帰させて割込み処理を終える(ST29)。
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。
例えば、図8に示す時定数部28では、2ビットのラッチ回路31と、2個のアナログスイッチAS1,AS2を使用したが、この個数を適宜に増加すれば、動作禁止区間をよりランダム化することができる。なお、アナログスイッチASiの個数に対応して、コンデンサCiやトランジスタTiの個数も増加させるのは勿論である。
一方、簡易的には、ラッチ回路31やアナログスイッチなどを省略することもでき、この場合には、例えば、図12(a)のような回路構成となる。この場合には、抵抗Rの抵抗値やコンデンサCの容量値が遊技機毎にばらつくことで、ランダムな動作禁止区間が形成される。
また、図7の時定数部28は、桁上り信号RCO、始動スイッチ信号LV”、起動信号BGを入力信号としたが、何ら限定されない。すなわち、桁上り信号RCOに代えて、高速度で更新される任意の信号を使用することができ、例えば、計数クロックΦや、下位カウンタ26L及び上位カウンタ26Hにおける何れかのビットデータを使用することができる。
同様に、必ずしも、始動スイッチ信号LV”や、起動信号BGを使用する必要はなく、予測不能に発生する信号であれば、任意の信号を使用することができる。予測不能に発生する信号としては、始動スイッチ信号LV、投入されたメダルの検出信号、貯留メダル投入信号、停止スイッチ信号STP1〜STP3、払出されるメダルの検出信号などを例示することでき、これらを適宜に組合せて、始動スイッチ信号LV”や起動信号BGの代わりに使用することができる。
なお、乱数生成回路66のカウント動作を一時停止させる制御回数は、必ずしも、各ゲームに一回に限定する必要はなく、数ゲームに一回でも良いし、一ゲームに複数回の停止制御としても良い。例えば、払出されるメダルを検出する毎に、カウント動作を一時停止させる停止制御が、それ単独又は他の停止制御と組み合わせて実行される。
何れにしても、乱数生成回路66のカウント動作の停止制御は、乱数値を取得する可能性のない適宜タイミング(乱数値を取得してから次のゲームで規定枚数のメダルが投入され乱数の取得が可能になるまでの間)で行うように構成することで、何ら問題なく乱数生成の機能を果たすことができる。
また、必ずしも、各カウンタ26L,26Hの動作禁止端子CCKENを使用する必要はなく、例えば、図12(c)に示すように、計数クロックΦを通過させるNANDゲートG1を活用して、ランダムな所定時間だけ計数クロックの通過を禁止しても良い。この場合も、起動回路32への入力信号としては、予測不能のタイミングで立上る信号として、例えば、投入されたメダルの検出信号、貯留メダル投入信号、停止スイッチ信号STP1〜STP3、払出されるメダルの検出信号などが使用される。
更にまた、必ずしも、ハードウェア構成で動作禁止信号CTLを生成する必要はなく、プログラム処理によって動作禁止信号を生成しても良い。図13は、このような変形例を例示したものである。ここでは、例えば、終了信号ENDの出力に代えて、パルス幅のランダムな動作禁止パルスCTLを出力している。
具体的に確認すると、ランダムな値として、例えばその時の乱数値RNDを取得し(ST30)、適宜なマスク値をAND演算することで数値範囲を限定して、繰り返し回数CTを乱数的に決定する(ST31)。
次に、禁止レベルの動作禁止パルスを出力し(ST32)、繰り返し回数CTがゼロになるまでデクリメント処理を繰り返す(ST33,ST34)。そして、デクリメント後の繰り返し回数がゼロになれば、許可レベルの動作禁止パルスを出力して処理を終える(ST35)。この実施例でも、ステップST33〜ST34の処理時間の間は、計数部26が動作禁止状態となるので、大当り周期の発生タイミングがランダムとなり不正遊技を排除することができる。なお、ステップST30の処理で取得する値は、ランダムな値であれば乱数値RNDに限定されないのは勿論である。
また、必ずしも、動作禁止端子CCKENを使用する必要はなく、図13の破線で示すように、計数クロックΦを通過させるNANDゲートG1の動作を禁止しても良い。何れにしても、動作禁止パルスのパルス幅をランダム化する必要はなく、固定幅としても良い。なお、動作禁止パルスのパルス幅をランダム化するか否かに拘らず、動作禁止パルスを各ゲームに複数回出力しても良く、出力タイミングとしては、投入メダルの検出時、貯留メダル投入の検出時、停止スイッチの操作時、払出されるメダルの検出時などが例示される。この点は、図7のようなハードウェア構成の乱数生成回路66の場合も同じである。